novius/additional-php-cs-fixers

There is no license information available for the latest version (1.0.1) of this package.

Some additional custom fixers for php-cs-fixer.

1.0.1 2017-05-11 14:38 UTC

This package is not auto-updated.

Last update: 2021-10-16 12:10:23 UTC


README

This library adds some custom fixers for php-cs-fixer (v2).

Installation

Add this package to your composer.json:

{
    "require-dev": {
        "novius/additional-php-cs-fixers": "~1.0.0"
    },
}

Modify your .php_cs:

  • Include the composer autoload:
include 'vendor/autoload.php';
  • Register the custom fixers:
return PhpCsFixer\Config::create()
    //...
    ->registerCustomFixers(SebC\AdditionalPhpCsFixers\Helper::getCustomFixers())
  • Use the new rules as you wish:
$rules = [
    // ...
    'SebCAdditionalPhpCsFixers/disallow_unaliased_classes' => [
        'replace_namespaces' => [
            'Fuel\Core' => '',
            'Illuminate\Support\Facades' => '',
        ],
    ],
];

disallow_unaliased_classes rule:

This prevents any use of some specific namespace, and encourages to replace it with another.

This is mainly useful/designed to force the use of aliased classes in some frameworks like Laravel or FuelPHP.

As example, with the following rules configuration:

  • 'Fuel\Core' => '', will trigger an error everytime a class such as Fuel\Core\Config is directly called, and will suggest to replace it with Config
  • 'Illuminate\Support\Facades' => '', will prevent a call like Illuminate\Support\Facades\Validator and replace it with Validator
  • 'Some\Evil\Stuff' => 'OtherStuff', will replace Some\Evil\Stuff\Foo::myFunction() with OtherStuff\Foo::myFunction()

This also works with used namespaces.

TODO

Unit tests