This library adds some custom fixers for php-cs-fixer (v2).
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' => '',
],
],
];
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 asFuel\Core\Config
is directly called, and will suggest to replace it withConfig
'Illuminate\Support\Facades' => '',
will prevent a call likeIlluminate\Support\Facades\Validator
and replace it withValidator
'Some\Evil\Stuff' => 'OtherStuff',
will replaceSome\Evil\Stuff\Foo::myFunction()
withOtherStuff\Foo::myFunction()
This also works with use
d namespaces.
Unit tests