chefsplate / sniffer-rules
A Laravel 4 and Laravel 5 SquizLabs Code Sniffer 2.0 artisan command. Detect violations of a defined coding standard. It helps your code remains clean and consistent.
Installs: 2 517
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 4
Forks: 0
Open Issues: 6
Requires
- php: >=5.4.0
- illuminate/console: ~4.0|~5.0
- illuminate/support: ~4.0|~5.0
- squizlabs/php_codesniffer: 2.*
This package is not auto-updated.
Last update: 2024-11-19 17:47:43 UTC
README
This is a Laravel 4/5 package that hooks up SquizLabs CodeSniffer 2 into Laravel-based apps. It can also be used manually, so read on.
Detect violations of a defined coding standard. It helps your code remain clean and consistent. Available options are: PSR2, PSR1, Zend, PEAR, Squiz, PHPCS and ChefsPlate.
Setup
Require this package in composer:
$ composer require chefsplate/sniffer-rules
Laravel 4/5
In your config/app.php
add ChefsPlate\SnifferRules\ServiceProvider:class
to $providers
array:
'providers' => [ ... ChefsPlate\SnifferRules\ServiceProvider::class, ... ],
Laravel 5: Publish the configuration file
$ php artisan vendor:publish
Laravel 4: Manually create config
Copy config to
app/config/sniffer-rules.php
Edit configuration file config/sniffer-rules.php
to tweak the sniffer behavior.
Manual
Install our Standard by configuring PHP_CodeSniffer to look for it.
$ php ./vendor/bin/phpcs --config-set installed_paths ./vendor/chefsplate/src/ChefsPlate/SnifferRules/Standard/
Usage
Laravel
$ php artisan sniff
To run the sniffer in a CI environment, the -n
option should be set to remove
interaction:
$ php artisan sniff -n
Manual
$ php ./vendor/bin/phpcs --standard=ChefsPlate path/to/code
It's encouraged to add a Makefile
to your project that makes it
trivial for other developers. Use Makefile
in this directory and adjust as
needed to fit your project requirements.
ChefsPlate Coding Standards
Coding standards
Addendum and Clarifications
namespace
should be on the same line as opening php tag. e.g.:<?php namespace ChefsPlate\Amazing
- Property names should be snake_case
- Test names should use underscores, not camelCase. e.g.:
test_cats_love_catnip
License
MIT