Skip to content

Symfony coding standards for ProjektMOTOR enriched by several useful rules

License

Notifications You must be signed in to change notification settings

projektmotor/symfony-coding-standard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Symfony coding standard of ProjektMOTOR

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.

Goals of our coding standard

  • 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).

Installation

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",
        }
    }

Usage

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/