2025-07-22 20:29:52 +03:00
2025-07-22 20:29:52 +03:00
2025-07-22 19:46:34 +03:00
upd
2025-07-22 20:29:36 +03:00

Sept coding standard

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 Sept Coding Standard in your project with the following command:

composer require --dev 1sept/sept-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/1sept/sept-coding-standard/SeptCodingStandard/": "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="sept-coding-standard">
    <rule ref="vendor/1sept/sept-coding-standard/SeptCodingStandard/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/

Description
Sept coding standard
https://1sept.ru
Readme 115 KiB