mreduar / laravel-phpcs
PHP Codesniffer ruleset to follow Laravel's coding style
Installs: 13 363
Dependents: 1
Suggesters: 0
Security: 0
Stars: 39
Watchers: 1
Forks: 2
Open Issues: 0
Language:Shell
Requires
- php: ^7.4|^8.0
- slevomat/coding-standard: ^8.0
- squizlabs/php_codesniffer: ^3.7
README
php codesniffer ruleset for laravel or any other php projects.
Installation
[*] 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.
Usage
Enabling the rules
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.
Sniffing code
Use php CodeSniffer commands, pointed towards your xml file, to sniff the code using the new ruleset.
vendor/bin/phpcs
vendor/bin/phpcbf
Sniffing code in PHPStorm
See PHP Code Sniffer in PhpStorm on how to set up CodeSniffer in PHPStorm.
Sniffing code Visual Studio Code
See PHP Sniffer by wongjn or other phpcs plugins for more information about PHP Code Sniffer in Visual Studio Code.
Contributing
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.
Credits
License
The MIT License (MIT). Please see License File for more information.