Rector는 애플리케이션의 PHP 코드를 즉시 업그레이드하고 리팩터링합니다. 이는 두 가지 주요 영역에서 도움이 될 수 있습니다.
Rector는 이제 PHP 5.3에서 8.4로의 업그레이드와 Symfony, PHPUnit, Doctrine과 같은 주요 오픈 소스 프로젝트를 지원합니다. 노력하지 않고도 최신 PHP와 프레임워크를 지속적으로 사용하고 싶으십니까?
Rector를 사용하여 즉각적인 업그레이드를 처리하세요.
필요한 코드 품질을 갖추고 있지만 팀의 새로운 개발자와 함께 이를 유지하는 데 어려움을 겪고 계십니까? 모든 시니어 개발자들이 잠든 시간에도 스마트한 코드 리뷰를 보고 싶으신가요?
CI에 Rector를 추가하면 지속적으로 코드를 리팩터링 하고 코드 품질을 높게 유지할 수 있습니다.
자동 리팩토링을 설정하는 방법을 알아보려면 블로그 게시물을 읽어보세요.
composer require rector/rector --dev
Rector를 사용하는 두 가지 주요 방법은 다음과 같습니다.
이를 사용하려면 루트 디렉터리에 rector.php
를 만듭니다.
vendor/bin/rector
그리고 수정하세요:
use Rector Config RectorConfig ;
use Rector TypeDeclaration Rector Property TypedPropertyFromStrictConstructorRector ;
return RectorConfig:: configure ()
// register single rule
-> withRules ([
TypedPropertyFromStrictConstructorRector::class
])
// here we can define, what prepared sets of rules will be applied
-> withPreparedSets (
deadCode: true ,
codeQuality: true
);
그런 다음 Rector를 테스트 실행합니다.
vendor/bin/rector process src --dry-run
Rector는 변경 될 파일의 차이점을 보여줍니다. 변경 하려면 --dry-run
삭제하세요.
vendor/bin/rector process src
Rector가 내부적으로 어떻게 작동하는지, 자신만의 규칙을 만들고 테스트하는 방법, Rector가 탄생한 이유가 궁금하십니까? Rector를 읽어보세요 - Rector 설정과 자신만의 규칙을 만드는 방법을 단계별로 안내하는 자동 리팩토링의 힘.
Rector 커뮤니티는 특정 프로젝트에 대한 Rector 세트를 관리하는 적극적인 유지관리자 덕분에 강력합니다.
그 중에는 다음과 같은 프로젝트가 포함됩니다.
Rector는 우리가 무료로 개발하고 공유하는 도구이므로 누구나 리팩토링을 자동화할 수 있습니다. 그러나 모든 사람이 자신의 시간에 추상 구문 트리의 복잡성을 이해하는 데 수십 시간이 걸리는 것은 아닙니다. 이것이 바로 우리가 귀하의 시간을 절약하기 위해 상업적인 지원을 제공하는 이유입니다 .
코드 베이스에 Rector를 적용하고 싶지만 프로젝트에 어려움을 겪을 시간이 없습니까? 더 빨리 도착하려면 우리를 고용하세요.
기여 가이드를 보거나 개발 저장소 rector/rector-src로 이동하세요.
--debug
옵션을 사용하면 중첩된 예외 출력이 인쇄됩니다.
vendor/bin/rector process src/Controller --dry-run --debug
또는 Xdebug를 사용하면:
--xdebug
옵션 추가 vendor/bin/rector process src/Controller --dry-run --xdebug
간단한 디버깅을 지원하기 위해 Rector는 AST 노드를 예쁘게 인쇄하는 2개의 도우미를 제공합니다.
use PhpParser Node Scalar String_ ;
$ node = new String_ ( ' hello world! ' );
// prints node to string, as PHP code displays it
print_node ( $ node );
Rector는 AST( 추상 구문 트리 )라는 기술을 기반으로 구축된 nikic/php-parser를 사용합니다. AST는 공백에 대해 알지 못하며 파일에 기록될 때 PHP와 docblock 주석 모두에서 잘못된 형식의 코드를 생성합니다.
병렬 모드의 Rector는 대부분의 OS에서 대부분 작동합니다. Windows에서는 병렬 문제 해결 가이드를 따랐음에도 불구하고 해결할 수 없는 문제가 발생할 수 있습니다. 이 경우 Powershell 7(pwsh)을 사용하고 있는지 확인하세요. 터미널을 Windows용 명령 프롬프트(cmd) 또는 bash로 변경하세요.
프로젝트에는 코딩 표준 도구와 일련의 형식 지정 규칙이 있어야 Rector의 출력 코드를 다시 멋지고 빛나게 만들 수 있습니다.
이 설정에서는 ECS를 사용하고 있습니다.
PHP + HTML 콘텐츠가 포함된 파일에 변경 사항을 적용하는 경우 변경 사항을 적용한 후 변경된 파일을 수동으로 확인해야 할 수 있습니다.