Consistency is important, even more so when writing open-source code, since the code belongs to millions of eyeballs, and bug-fixing relies on these teeming millions to actually locate bugs and understand how to solve it.
This is why, when writing anything for PrestaShop, be it a theme, a module or a core patch, you should strive to follow the following guidelines. They are the ones that the PrestaShop developers adhere to, and following them is the surest way to have your code be elegantly integrated in PrestaShop.
In short, having code consistency helps keeping the code readable and maintainable.
Starting with version 18.104.22.168, the PrestaShop Core codebase has switched to the PSR-1 coding standard and PSR-2 coding style guide. See the reasons why on the announcement article on the Build PrestaShop deblog.
Existing modules and themes are not required to switch to PSR-1 and PSR-2.
PrestaShop's own modules and any newly-created community module are expected to adopt these guidelines.
If you want to update your PHP code to the PSR-1 and PSR-2 guidelines, you can use the PHP Coding Standards Fixer, which fixes most issues automatically.
For reference's sake, the old PrestaShop coding standards is kept in this page: Pre-22.214.171.124 PHP Coding Standards. Please do not use it anymore!
Here are the standards, conventions and guidelines that we choose to follow as of May 10th, 2016 (for PrestaShop 126.96.36.199+ and PrestaShop 1.7):
- PHP code
We keep PSR-1 and PSR-2, along with a few nice details from Symfony.
- HTML & CSS code
We choose to follow the Mark Otto's coding standards. Mark is the creator of the Bootstrap framework.
- Smarty / Twig code
Same standards as with HTML & CSS.
- Commits & Pull-requests conventions
We choose to formalize best practices.
- SQL guidelines
Same as before.
About the code validator (PHP CodeSniffer)
The CodeSniffer configuration file is not yet available. Thank you for your patience!