projektmotor/symfony-coding-standard

Internal PHP coding standard of ProjektMOTOR

Installs: 27 533

Dependents: 1

Suggesters: 0

Security: 0

Stars: 3

Watchers: 4

Forks: 0

Open Issues: 0

Type:phpcodesniffer-standard

v1.0.16 2023-08-31 13:18 UTC

This package is auto-updated.

Last update: 2024-03-30 00:25:42 UTC


README

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/