Shareable config for phpcs for custom standards at Chromatix Digital Agency.
Based heavily on the WordPress Coding Standards but with some of our own too. Most notably, two spaces instead of tabs. Soz.
This config is still in development. If you have suggestions for improvement or if you disagree with anything this config makes you do, feel free to file an issue.
Writing PHP outside of the WordPress context? We still use WordPress standards, but obviously without the need for using WordPress-specific functions. See phpcs-config-chromatix-no-wordpress.
Install globally to use on any project:
composer global require chromatix/phpcs-config-chromatix
Install locally to one project:
composer require chromatix/phpcs-config-chromatix
You'll also need to have phpcs installed in the same manner, and set your phpcs installed_paths
like follows:
vendor/bin/phpcs --config-set installed_paths ../../chromatix,../../wp-coding-standards/wpcs
It's probably ideal to do this in a post-install-cmd
script in your composer.json
; see this package's composer.json for an example of a cross-platform way to do so (it might look a bit complicated, but unfortunately is required... at least in our testing so far, anyway!).
Add this to your phpcs.xml
file:
<?xml version="1.0"?>
<ruleset>
<rule ref="phpcs-config-chromatix"/>
</ruleset>
Then:
-
Using globally?
Run
phpcs *.php
-
Using locally?
Run
vendor/bin/phpcs *.php
Alternatively, you'll probably find it useful to add a script to your
composer.json
:"scripts": { "lint": "find . -type d \\( -name '.git' -o -name 'vendor' -o -name 'node_modules' \\) -prune -o -type f -name '*.php' -print | xargs vendor/bin/phpcs" }
Then you can just run
composer lint
.
MIT.