Contributions
Contributing to Phalcon
Phalcon is an open source project and relies heavily on volunteer efforts and contributions. We welcome contributions from everyone!
Please take a few moments to review this document to understand the contribution process and make it as efficient as possible for all. By following these guidelines, we can have faster resolution of issues, better communication and we can all move the project forward!
The Phalcon source code (along with documentation, websites etc.) is stored in GitHub. You can browse our repositories in our .
If you wish to contribute to Phalcon, you can do so by issuing a GitHub pull request.
When you create a pull request, we have a handy template to help you describe what is the scope of the pull request. It is very important and helpful to the community that you add tests to your pull request. Each pull request will be reviewed by a core contributor (someone with permissions to merge pull requests). Based on the type and content of the pull request, it could be:
- put on hold, where the reviewer requires changes (styling, tests etc.)
- put on hold, if discussion is necessary (community, core team etc.)
- rejected
If programming in Zephir seems daunting, there are plenty of areas that you can contribute. You can always check the documentation for any typographic or context errors. You could also enhance the documentation with more examples in the respective pages.
All you have to do is go to our repository, fork it, make the changes and send us a pull request.
Translations
If you wish to contribute to Phalcon by translating our documents in your native tongue, you can utilize the excellent service of our friends at . Our project is located here. If your language is not listed, please send us a message so that we can add it.
Bug Report Checklist
- Make sure you are using the latest released version of Phalcon before creating an issue in GitHub.
- Only bugs found in the latest released version of Phalcon will be addressed.
- We have a handy template when creating an issue to help you provide as much information for the core team to reproduce and address. Being able to reproduce a bug significantly reduces the time to find the cause and fix it. Scripts of even failing tests are more than appreciated. Please check how to create the reproducible tests page for more information.
- As part of your report, please include additional information such as the OS, PHP version, Phalcon version, web server, memory etc.
- If you’re submitting a error, we require a backtrace. Please check the Generating a Backtrace section for more information.
Please check the following links for instructions on how to generate the backtrace:
- Pull requests to the
master
branch are not accepted. Please fork the repository and create your branch from the necessary “source” branch, for instance and if need be rebase your branch before submitting your pull request. If there are collisions, we will ask you to rebase your branch again. - Add tests to your pull request or adjust existing ones. This is very important since it helps justify your pull request. Please check our testing page for more information on how to set up a test environment and how to write tests.
- Since Phalcon is written in , please do not submit commits that modify the C generated files directly
- Phalcon follows a specific coding style. Please install the
editorconfig
plugin in your favorite IDE to take advantage of the supplied.editorconfig
file that comes with this repository and not to have to worry about coding standards. All tests (PHP code), follow the PSR-2 standard - Remove any change to ,
.zep.c
andfiles before submitting the pull request
More information .Before submitting new functionality, please open a NFR as a new issue on GitHub to discuss the impact of including the functionality or changes in the core extension. Once the functionality is approved, make sure your PR contains the following:
An update to the
CHANGELOG.md
- Documentation or Usage Examples
Getting Support
If you have any questions about how to use Phalcon, please see the support page.
If you have any changes or new features in mind, please fill an .
<3 Phalcon Team