fpcs / php-coding-standard
The FPCS PHP coding standard
Installs: 1 594
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: ^7.3||^8.0
- dealerdirect/phpcodesniffer-composer-installer: ^0.7
- sirbrillig/phpcs-import-detection: ^1.3
- slevomat/coding-standard: ^7.0
- symplify/easy-coding-standard: ^9.3
README
Installation
Install package:
composer require --dev fpcs/php-coding-standard
Implement standards:
./phpcs.xml:
<?xml version="1.0"?>
<ruleset>
<rule ref="vendor/fpcs/php-coding-standard/phpcs" />
</ruleset>
./easy-coding-standard.yaml:
imports:
- { resource: 'vendor/symplify/easy-coding-standard/config/set/psr2.yaml' }
- { resource: 'vendor/symplify/easy-coding-standard/config/set/clean-code.yaml' }
- { resource: 'vendor/fpcs/php-coding-standard/easy-coding-standard/*.yaml' }
Selecting specific standards:
There are base
standards, and then more specific standards, which should be used IN ADDITION to the base
standard.
Available standards:
base
(always use)laravel
./phpcs.xml:
<?xml version="1.0"?>
<ruleset>
<rule ref="vendor/fpcs/php-coding-standard/phpcs/base.xml" />
<rule ref="vendor/fpcs/php-coding-standard/phpcs/laravel.xml" />
</ruleset>
./easy-coding-standard.yaml:
imports:
- { resource: 'vendor/symplify/easy-coding-standard/config/set/psr2.yaml' }
- { resource: 'vendor/symplify/easy-coding-standard/config/set/clean-code.yaml' }
- { resource: 'vendor/fpcs/php-coding-standard/easy-coding-standard/base.yaml' }
- { resource: 'vendor/fpcs/php-coding-standard/easy-coding-standard/laravel.yaml' }
Automate:
package.json:
"scripts": {
...
"ecs": "./vendor/bin/ecs check ./ --fix",
"phpcbf": "./vendor/bin/phpcbf ./",
"phpcs": "./vendor/bin/phpcs -sp ./",
"lint": "yarn ecs && yarn phpcbf",
...
},
lint-stagerd.config.js:
module.exports = {
'*.php': files => [
`./vendor/bin/ecs check --fix "${files.join('" "')}"`,
`./vendor/bin/phpcbf "${files.join('" "')}"`,
`git add "${files.join('" "')}"`,
],
};
Run it:
yarn lint