종속성이 있는 PHP 7.2-PHP 8.3 프로젝트에 설치
즉시 사용 가능한 병렬 실행으로 매우 빠른 속도
PHP_CodeSniffer 또는 PHP-CS-Fixer를 사용하세요. 원하는 대로 사용하세요.
준비된 세트 와 PHP CS Fixer 세트를 사용하여 시간 절약
작곡가는 Sympliify/easy-coding-standard --dev가 필요합니다.
벤더/bin/ecs
처음 실행 시 ECS는 디렉터리와 시작할 첫 번째 규칙이 포함된 ecs.php
구성 파일을 생성합니다.
그런 다음 다시 실행하여 제안된 차이점을 확인할 수 있습니다.
벤더/bin/ecs
실제로 코드를 수정 하려면 --fix
추가하세요.
공급업체/bin/ecs --수정
그게 다야!
대부분의 경우 기본 구성에 만족할 것입니다. 가장 관련성이 높은 부분은 경로, 검사기 및 세트를 구성하는 것입니다.
PhpCsFixerFixerArrayNotationArraySyntaxFixer 사용; PhpCsFixerFixerListNotationListSyntaxFixer 사용; SymmplifyEasyCodingStandardConfigECSConfig 사용; ECSConfig::configure() 반환 ->withPaths([__DIR__ . '/src', __DIR__ . '/tests']) ->ConfiguredRule( ArraySyntaxFixer::클래스, ['구문' => '긴'] ) ->규칙으로([ ListSyntaxFixer::클래스, ]) ->withPreparedSets(psr12: true);
루트에 있는 모든 *.php
파일( ecs.php
, rector.php
등)을 확인하시겠습니까? 하나씩 나열하는 대신 ->withRootFiles()
메서드를 사용하세요.
SymmplifyEasyCodingStandardConfigECSConfig 사용; ECSConfig::configure() 반환 ->withPaths([__DIR__ . '/src', __DIR__ . '/tests']) ->루트파일();
php-cs-fixer의 44개 세트 중 하나를 포함하시겠습니까?
다음을 수행할 수 있습니다.
SymmplifyEasyCodingStandardConfigECSConfig 사용; ECSConfig::configure() 반환 ->withPaths([__DIR__ . '/src', __DIR__ . '/tests']) ->withPhpCsFixerSets(perCS20: true, 교리Annotation: true);
규칙 세트가 마음에 들지만 단일 규칙이나 일부 파일을 건너뛰고 싶으십니까?
SymmplifyEasyCodingStandardConfigECSConfig 사용; ECSConfig::configure() 반환 ->withSkip([// 단일 규칙 건너뛰기ArraySyntaxFixer::class,// 특정 경로에서 단일 규칙 건너뛰기ArraySyntaxFixer::class => [__DIR__ . '/src/ValueObject/', ],// 절대값 또는 *mask__DIR__로 디렉터리를 건너뜁니다. '/src/Migrations',// 마스크__DIR__로 디렉터리를 건너뜁니다. '/src/*/레거시', ]);
아마도 이것을 사용하지 않을 것입니다. 그러나 내부 프로세스에 대한 더 많은 제어를 제공할 수 있습니다.
use SymmplifyEasyCodingStandardConfigECSConfig;use SymmplifyEasyCodingStandardValueObjectOption;return ECSConfig::configure()// 파일 확장자를 스캔->withFileExtensions(['php'])// 캐시 경로 및 네임스페이스 구성 - 유용함(예: Gitlab CI 캐싱, 여기서 getcwd()는 항상 다른 것을 생성함) 경로->withCache( 디렉토리: sys_get_temp_dir() . '/_changed_files_Detector_tests', 네임스페이스: getcwd() // 디렉터리 구분 기호로 정규화됨)// 특정 들여쓰기 규칙으로 내용 인쇄->withSpacing(indentation: Option::INDENTATION_SPACES, lineEnding: PHP_EOL)// 병렬 수정 run->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 코드 품질 보고서 또는 코드 기후 도구용입니다.
각각의 동작 방식에 대한 자세한 내용은 해당 구현을 참조하세요.
공급업체/bin/ecs --clear-cache
공급업체/bin/ecs 목록 검사기
json 형식을 찾으시나요?
공급업체/bin/ecs 목록 검사기 --출력 형식 json
다른 도구를 사용하고 있는데 마이그레이션하고 싶으신가요? 매우 간단합니다. "방법"은 다음과 같습니다.
PHP_CodeSniffer용
그리고 PHP CS Fixer.