Skip to content

Official ChefsPlate Sniffer Rules for the PHP Dev Team.

License

Notifications You must be signed in to change notification settings

chefsplate/sniffer-rules

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

phpcs 2.0+ Laravel 4/5 Command

Build Status Latest Stable Version License

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