Symfony coding standards for ProjektMOTOR enriched by several useful rules.
We at ProjektMOTOR ❤️ clean code. So we have a have an internal PHP coding standard based on symfony coding standard used for all our projects. We are using PHP CodeSniffer with the great Symfony PHP CodeSniffer Coding Standard of djoos and some sniffs of Slevomat Coding Standard, both adopted to our own needs.
- Using already existing standards (PSR-1, PSR-2, Symfony).
- Coding standard can be used across different projects.
- Avoid duplications (also between code, CVS history and documentation).
- Ensure code quality across different dev setups (e.g. different IDEs).
If you use Composer, you can install ProjektMOTOR Coding Standard in your project with the following command:
composer require --dev projektmotor/symfony-coding-standard
Optional: To install coding standard automatically edit your composer script:
scripts: {
"post-install-cmd": [
"@auto-scripts"
],
"post-update-cmd": [
"@auto-scripts"
],
"auto-scripts": {
"phpcs --config-set installed_paths vendor/projektmotor/symfony-coding-standard/ProjektMOTORCodingStandard/": "script",
}
}
Just create a phpcs.xml.dist
in your project's root directory with the following content:
<?xml version="1.0" encoding="UTF-8"?>
<ruleset name="projektmotor-coding-standard">
<rule ref="vendor/projektmotor/symfony-coding-standard/ProjektMOTORCodingStandard/ruleset.xml">
<!-- If the standard is too hard, you can exclude some rules like this: -->
<!-- <exclude name="Generic.Arrays.DisallowLongArraySyntax.Found" /> -->
<!-- <exclude name="Generic.Files.LineLength.TooLong" /> -->
</rule>
<!-- Exclude project specific files if you want -->
<!-- <exclude-pattern>WakkaFormatter</exclude-pattern> -->
</ruleset>
And then you can execute the CodeSniffer like this:
vendor/bin/phpcs -s -p --colors src/