Are you missing a feature and would you like to add it to the library? Great! Any contributions to this library are welcome. We try to be responsive and release new, non-breaking features as fast as possible.
This package uses the GitHub issue tracker to track bugs and features. Before submitting a bug report or feature request, check to make sure it hasn't already been submitted.
If you want to add additional tags, attributes or functionality to the library, please feel free to create a pull request with your changes.
Please try to follow this workflow:
- Fork the project
- Create a new branch forked from the master branch with a title for your feature (e.g. feature-that-i-want)
- Commit all your code into this branch until you are happy with your contribution
- Document your changes in the changelog/next-release.md file
⚠️ - If possible; try to add unit tests for your contribution
- Create a pull request with your commits
Please try to follow PSR-12 rules when writing code. A PSR-12 compliant phpcs.xml is provided, so if your editor supports phpcs, your editor should automatically warn you if you are deviating from PSR-12 compliant formatting.
You can also check code style manually by running composer phpcs
in the projects' root folder on your disk.
$ cd ubl-invoice
$ composer phpcs
The project also has PHPStan integrated for code checking, which can be triggered with:
$ cd ubl-invoice
$ composer phpstan
Although unit testing is included, this repository does not provide exhaustive unit testing for all possibilities the library offers. This is definitely a long-term goal. So please try to add unit tests for new functionality that you add.
To run the complete suite of unit tests
$ cd ubl-invoice
$ composer test
To run a single unit test
$ cd ubl-invoice
$ composer test tests/SimpleInvoiceTest.php