We look forward to your contributions! Here are some examples how you can contribute:
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
When you submit code changes, your submissions are understood to be under the same MIT License that covers the project. By contributing to this project, you agree that your contributions will be licensed under its MIT License.
In your bug report, please provide the following:
- A quick summary and/or background
- Steps to reproduce
- Be specific!
- Give sample code if you can.
- What you expected would happen
- What actually happens
- Notes (possibly including why you think this might be happening, or stuff you
- tried that didn't work)
Please do not report a bug for a version of ZIPStream-PHP that is no longer
supported (< 3.0.0
). Please do not report a bug if you are using a version of
PHP that is not supported by the version of ZipStream-PHP you are using.
Please post code and output as text (using proper markup). Do not post screenshots of code or output.
Please include the output of composer info | sort
.
- Fork the repository.
- Create your branch from
main
if you plan to implement new functionality or change existing code significantly; create your branch from the oldest branch that is affected by the bug if you plan to fix a bug. - Implement your change and add tests for it.
- Ensure the test suite passes.
- Ensure the code complies with our coding guidelines (see below).
- Send that pull request!
Please make sure you have
set up your user name and email address
for use with Git. Strings such as silly nick name <root@localhost>
look really
stupid in the commit history of a project.
We encourage you to sign your Git commits with your GPG key.
Pull requests for new features must be based on the main
branch.
We are trying to keep backwards compatibility breaks in ZipStream-PHP to a minimum. Please take this into account when proposing changes.
Due to time constraints, we are not always able to respond as quickly as we would like. Please do not take delays personal and feel free to remind us if you feel that we forgot to respond.
This project comes with a configuration file (located at /psalm.yml
in the
repository) that you can use to perform static analysis (with a focus on type
checking):
$ .composer run test:lint
This project comes with a configuration file (located at
/.php-cs-fixer.dist.php
in the repository) that you can use to (re)format your
source code for compliance with this project's coding guidelines:
$ composer run format
Please understand that we will not accept a pull request when its changes violate this project's coding guidelines.
The following commands can be used to perform the initial checkout of ZipStream-PHP:
$ git clone [email protected]:maennchen/ZipStream-PHP.git
$ cd ZipStream-PHP
Install ZipStream-PHP's dependencies using Composer:
$ composer install
$ composer run install:tools # Install phpDocumentor using phive
After following the steps shown above, ZipStream-PHP's test suite is run like this:
$ composer run test:unit
There's some slow tests in the test suite that test the handling of big files in the archives. To skip them use the following command instead:
$ composer run test:unit:fast
To generate the documentation for the library, run:
$ composer run docs:generate
The guide documentation pages can be found in the /guides/
directory.