php codesniffer ruleset for laravel or any other php projects.
[*] Install using composer
composer require mreduar/laravel-phpcs --dev
[*] Install manually
- Copy the
phpcs.xml
file into your project root. - Descoment lines
<file>app</file>
and the others inphpcs.xml
file. - Because this package uses third party standards that are not in phpcs you need to install these package.
composer require slevomat/coding-standard
- Run
phpcs .
to check your project.
Only neccesary if you installed as a package using composer!
php artisan vendor:publish --provider="Mreduar\LaravelPhpcs\LaravelPhpcsServiceProvider" --tag="ruleset"
This will publish to your root directory the following file
<?xml version="1.0"?>
<ruleset>
<arg name="basepath" value="."/>
<file>./app</file>
<file>./config</file>
<file>./resources</file>
<file>./routes</file>
<file>./tests</file>
<rule ref="./vendor/mreduar/laravel-phpcs/phpcs.xml"/>
</ruleset>
Optionally you can also publish a git hook that will help you to never overlook smelly code.
php artisan vendor:publish --provider="Mreduar\LaravelPhpcs\LaravelPhpcsServiceProvider" --tag="hook"
The file will be published in its root directory .git/hooks/pre-commit
So every time you try to commit phpcs
will first check that you have everything correct.
$ git commit -m "test"
[1/1] code sniffer OK!
[master a6133d7] test
1 file changed, 1 insertion(+), 1 deletion(-)
if you have any errors the commit will be cancelled.
Use php CodeSniffer commands, pointed towards your xml file, to sniff the code using the new ruleset.
vendor/bin/phpcs
vendor/bin/phpcbf
See PHP Code Sniffer in PhpStorm on how to set up CodeSniffer in PHPStorm.
See PHP Sniffer by wongjn or other phpcs plugins for more information about PHP Code Sniffer in Visual Studio Code.
All changes that makes the sniffer more accurate towards Laravel's coding standard is always highly appreciated and welcome.
Please see CONTRIBUTING for more details.
The MIT License (MIT). Please see License File for more information.