capsulescodes/php-cs-fixer-custom-fixers

Capsules Codes 为 PHP CS Fixer 定制的修复器集合

v0.1.0 2024-06-21 09:51 UTC

README

PHP CS Fixer 提供一组自定义修复器。

注意

此项目处于活跃开发中。新修复器将逐步引入。


修复器


MethodChainingIndentationFixer

缩进每个链式方法。

- Foo::bar()->baz()->qux()->quux()->corge();

+ Foo::bar()
+     ->baz()
+     ->qux()
+     ->quux()
+     ->corge();

提示

single-line : 在单行上设置链 {true|false}
multi-line : 如果有 {number} 个链,则在下一行上设置链


MultipleLinesAfterImportsFixer

在导入后添加给定数量的行。

- use Baz;
- class Qux {}

+ use Baz;
+
+
+ class Qux {}

提示

lines : 在 use 语句块后设置 {number} 个空行


SpacesInsideSquareBracesFixer

在方括号内添加空格。

- $foo = ["bar", "baz", "qux"];

+ $foo = [ "bar", "baz", "qux" ];

提示

space : 设置括号内的空格 {single|none}





安装

  1. 安装依赖
composer require --dev capsulescodes/php-cs-fixer-custom-fixers

用法

<?php

use PhpCsFixer\Config;


return ( new PhpCsFixer\Config() )
    ...
    ->registerCustomFixers( [

        ...
        new \CapsulesCodes\Fixers\MethodChainingIndentationFixer(),
        new \CapsulesCodes\Fixers\MultipleLinesAfterImportsFixer(),
        new \CapsulesCodes\Fixers\SpacesInsideSquareBracesFixer()
        ...

    ] )
    ->setRules( [

        ...
        "CapsulesCodes/method_chaining_indentation" : { "multi-line" : 4 },
        "CapsulesCodes/multiple_lines_after_imports" : { "lines" : 2 },
        "CapsulesCodes/spaces_inside_square_braces" : { "space" : "single" }
        ...

   ] )
;


{
    ...
    "rules" : {

        ...
        "CapsulesCodes/method_chaining_indentation" : { "multi-line" : 4 },
        "CapsulesCodes/multiple_lines_after_imports" : { "lines" : 2 },
        "CapsulesCodes/spaces_inside_square_braces" : { "space" : "single" }
        ...

    },
    "fixers" : [ "CapsulesCodes\\Fixers" ]
    ...

}

重要

Composer 的自动加载器需要优化选项以检测自定义修复器。

...
"config" : { "optimize-autoloader" : true }
...


贡献

欢迎拉取请求。对于重大更改,请先创建一个问题以讨论您想要更改的内容。

请确保适当地更新测试。

致谢

许可

MIT