安裝在具有任何依賴項的任何 PHP 7.2-PHP 8.3專案上
開箱即用,並行運行速度極快
使用 PHP_CodeSniffer 或 PHP-CS-Fixer - 任何你喜歡的
使用準備好的套件和 PHP CS Fixer 套件來節省時間
作曲家需要 symplify/easy-coding-standard --dev
供應商/bin/ecs
第一次運行時,ECS 會建立ecs.php
設定文件,其中包含要啟動的目錄和第一條規則。
然後您可以再次運行以查看建議的差異:
供應商/bin/ecs
若要實際修復您的程式碼,請新增--fix
:
供應商/bin/ecs --修復
就是這樣!
大多數時候,您會對預設配置感到滿意。最相關的部分是配置路徑、檢查器和集合:
使用 PhpCsFixerFixerArrayNotationArraySyntaxFixer;使用 PhpCsFixerFixerListNotationListSyntaxFixer;使用 SymplifyEasyCodingStandardConfigECSConfig;返回 ECSConfig::configure() ->withPaths([__DIR__ . '/src', __DIR__ . '/tests']) ->withConfiguredRule( ArraySyntaxFixer::類, ['語法' => '長'] ) ->withRules([ ListSyntaxFixer::類, ]) ->withPreparedSets(psr12: true);
您要檢查根目錄中的所有*.php
檔案( ecs.php
、 rector.php
等)嗎?不要一一列出它們,而是使用->withRootFiles()
方法:
使用 SymplifyEasyCodingStandardConfigECSConfig;返回 ECSConfig::configure() ->withPaths([__DIR__ . '/src', __DIR__ . '/tests']) ->withRootFiles();
您想包含 php-cs-fixer 的 44 組中的一組嗎?
你可以:
使用 SymplifyEasyCodingStandardConfigECSConfig;返回 ECSConfig::configure() ->withPaths([__DIR__ . '/src', __DIR__ . '/tests']) ->withPhpCsFixerSets(perCS20:true,doctrineAnnotation:true);
喜歡規則集,但想跳過單一規則或某些檔案?
使用 SymplifyEasyCodingStandardConfigECSConfig;返回 ECSConfig::configure() ->withSkip([// 跳過單一規則ArraySyntaxFixer::class,// 跳過特定路徑中的單一規則ArraySyntaxFixer::class => [__DIR__ . '/src/ValueObject/', ],// 透過絕對或 * mask__DIR__ 跳過目錄。 '/src/Migrations',// 透過 mask__DIR__ 跳過目錄。 '/src/*/舊版', ]);
您可能不會使用這些,但它們可以讓您更好地控制內部流程:
use SymplifyEasyCodingStandardConfigECSConfig;use SymplifyEasyCodingStandardValueObjectOption;return ECSConfig::configure()// 要掃描的檔案副檔名->withFileExtensions(['php'])// 設定快取路徑和命名空間- 有用,例如Ggetlab 緩存) 產生的結果總是不同路徑->withCache( 目錄: sys_get_temp_dir() 。 '/_changed_files_ detector_tests', namespace: getcwd() // 標準化為目錄分隔符號)// 使用特定縮排規則列印內容->withSpacing(indentation: Option::INDENTATION_SPACES, lineEnding: PHP_EOL)// 修改並行運行->withParallel(timeoutSeconds: 120, maxNumberOfProcess: 32、作業大小:20);
提到的值是預設值。
您是否在各種項目中使用 ECS?您想在每個專案中始終以相同的方式運行它們嗎?讓我們使用 Composer 腳本
此命令為您的composer.json
添加2個方便的腳本:
供應商/bin/ecs 腳本
始終以相同的方式運行它們 - 檢查程式碼:
作曲家檢查-cs
若要套用修復,請運行:
作曲家修復cs
您可能希望使用 ECS 為第三方工具產生報表。
我們目前提供的格式化程序用於:
console
:以 PHP CS Fixer 方式進行的以人為本的列印。
json
:用於任意工具的自訂 JSON blob。
junit
:在不同 CI 環境中使用的 JUnit 格式。
checkstyle
:對於 Github 操作報告很有用。
gitlab
:用於 Gitlab 程式碼品質報告或 Code Climate 工具。
有關它們的行為方式的信息,請參閱它們各自的實現。
供應商/bin/ecs --清除緩存
供應商/bin/ecs 清單檢查器
你在尋找json格式嗎?
供應商/bin/ecs list-checkers --output-format json
您是否使用其他工具並想要遷移?這非常簡單 - 這是“如何做”:
對於 PHP_CodeSniffer
和 PHP CS 修復程式。