flyeralarm/php-code-validator
FLYERALARM PHP coding guideline validator: a PSR-12 based PHP_CodeSniffer ruleset with extra standards like lowerCamelCase variables, no Yoda conditions, bans on eval/goto, namespace underscores, and certain class suffixes. Easy Composer embed via ruleset.xml.
This repository contains the ruleset for the PHP code we develop at FLYERALARM. It mostly consists of PSR-12 with some custom additions. The rules are enforced with the help of PHPCSStandards/PHP_CodeSniffer
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119.
To prepare run command:
make build
make install
To check code style compliance or to fix what can be autofixed run commands:
make sniff
make sniff-fix
To test ruleset run command:
make test
As test runner is dockerized we can test with different PHP versions:
PHP_VERSION=8.2 make test
or all at once:
make test-all
Add as composer dev dependency:
composer require --dev flyeralarm/php-code-validator
Embed code sniffer in your Makefile. To intend please use tabs instead of spaces.
Example Makefile:
test:
vendor/bin/phpcs -w -p -s --standard=vendor/flyeralarm/php-code-validator/ruleset.xml src/ tests/
The recommended way to define custom rules for the own project is to provide a phpcs.xml in the root of your
project.
PHP_CodeSniffer will automatically detect this standard if no other standard was defined (See PHP_CodeSniffer Advanced Usage).
This phpcs.xml can then reference the FLYERALARM PHP coding standard.
<?xml version="1.0" encoding="UTF-8" ?>
<ruleset name="Project Rules">
<file>./src/</file>
<file>./tests/</file>
<arg value="sp"/>
<rule ref="vendor/flyeralarm/php-code-validator/ruleset.xml"/>
<!-- custom rules -->
</ruleset>
Once the file phpcs.xml is created the code can be validated using:
vendor/bin/phpcs
composer update flyeralarm/php-code-validator
make test
PhpStorm > Preferences > Editor > Inspections > PHP File > Settings > Editor > Inspections > PHP \PHP Code Sniffer validationPHP Code Sniffer validation to open its settings on the right hand side... on the right hand sideokOn a side note: We are searching for talented people to join our various teams of developers in multiple locations
How can I help you explore Laravel packages today?