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.

1.0.0 2017-07-05 18:01 UTC

This package is not auto-updated.

Last update: 2024-04-09 15:03:22 UTC


README

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