socialengine / sniffer-rules
A Lumen 5 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: 48 167
Dependents: 1
Suggesters: 0
Security: 0
Stars: 12
Watchers: 16
Forks: 4
Open Issues: 0
Requires
- php: >=5.4.0
- illuminate/console: ~4.0|~5.0
- illuminate/support: ~4.0|~5.0
- squizlabs/php_codesniffer: 2.*
README
This is a Laravel 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 SocialEngine.
Setup
Require this package in composer:
$ composer require socialengine/sniffer-rules
Laravel 5
In your config/app.php
add 'SocialEngine\SnifferRules\ServiceProvider'
to $providers
array:
'providers' => [ 'Illuminate\Foundation\Providers\ArtisanServiceProvider', 'Illuminate\Auth\AuthServiceProvider', 'SocialEngine\SnifferRules\ServiceProvider', ],
Laravel 5: Publish the configuration file
$ php artisan vendor:publish
Manual
Install our Standard by configuring PHP_CodeSniffer to look for it.
$ php ./vendor/bin/phpcs --config-set installed_paths ./vendor/socialengine/src/Socialengine/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=SocialEngine 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.
Travis
In combination with the Makefile
, Travis has issues finding the
standard, we had to add a before_script
to make it work. See
Unum repo for example.
before_script: php ./vendor/bin/phpcs --config-set installed_paths "`pwd`/vendor/socialengine/sniffer-rules/src/SocialEngine/SnifferRules/Standard/"
SocialEngine Coding Standards
Coding standards
Addendum and Clarifications
namespace
should be on the same line as opening php tag. e.g.:<?php namespace SocialEngine\Amazing
- Property names should be camelCase
- Test names should use underscores, not camelCase. e.g.:
test_cats_love_catnip
License
MIT