Unsplash의 Ron McClenny 사진
사람들은 PHPStan을 생각할 때 일반적으로 유형 적용 범위 개선을 생각합니다. 이는 실제로 PHPStan이 수행할 수 있는 기능 중 극히 일부에 불과합니다. 이 기사에서는 이를 사용하여 업그레이드 회귀를 중지하는 방법을 알아봅니다.
업그레이드 회귀는 애플리케이션에 이전하고 싶은 기능이 있는 경우입니다. 이는 애플리케이션 내의 코드일 수도 있고 설치한 종속성 내의 코드일 수도 있습니다.
업그레이드를 시도할 때 한 번에 모두 완료할 수 없는 경우가 많습니다. 대신 우리는 조금씩 점진적인 변화를 주어야 합니다. 마찬가지로 우리는 다른 개발자가 더 이상 사용되지 않는 메서드와 속성을 계속 사용하는 것을 원하지 않습니다. 이 상황에서 새로운 메소드 호출 등은 애플리케이션 업그레이드 진행 과정에서 퇴행을 초래합니다.
업그레이드 회귀 문제를 해결하기 위한 첫 번째 단계는 아직 PHPStan을 설치하지 않았다면 설치하는 것입니다. Composer를 통해 설치할 수 있습니다:
composer require --dev phpstan/phpstan
다음으로 코드베이스에서 사용되지 않는 메서드, 속성 및 클래스의 사용을 추적하는 데 특히 도움이 되는 사용 중단 규칙 확장을 추가할 수 있습니다.
composer require --dev phpstan/phpstan-deprecation-rules
설치한 후에는 phpstan.neon 구성 파일에 추가하여 사용 중단 규칙을 사용하도록 PHPStan을 구성할 수 있습니다.
includes: - vendor/phpstan/phpstan-deprecation-rules/rules.neon
이 설정으로 PHPStan을 실행하면 이제 코드베이스에서 더 이상 사용되지 않는 메서드, 속성 또는 클래스에 플래그가 지정됩니다. 더 이상 사용되지 않는 코드가 사용될 때 알림을 받게 되므로 이는 업그레이드 회귀를 방지하는 데 필수적인 단계입니다. 그런 다음 해당 인스턴스를 리팩터링하여 애플리케이션이 지원되는 최신 기능으로 전환되도록 할 수 있습니다.
지원 중단 규칙 확장 프로그램이 지원 중단된 코드를 포착하는 반면, 허용되지 않는 호출 확장 프로그램은 코드베이스에서 더 이상 허용하고 싶지 않은 특정 함수 호출, 메서드 호출 또는 심지어 전체 클래스를 차단하는 방법을 제공합니다. 이는 지원 중단 경고가 없는 코드와 같이 코드를 보다 세밀하게 제어하는 데 특히 유용합니다.
composer require --dev spaze/phpstan-disallowed-calls
설치 후에는 phpstan.neon 파일에서 구성해야 합니다. 다음은 특정 메서드 호출이나 기능을 허용하지 않는 방법에 대한 예입니다.
includes: - vendor/phpstan/phpstan-deprecation-rules/rules.neon # add the extension - vendor/spaze/phpstan-disallowed-calls/extension.neon parameters: # You can see more example at https://github.com/spaze/phpstan-disallowed-calls/blob/main/docs/custom-rules.md disallowedMethodCalls: - method: 'PotentiallyDangerous\Logger::log()' # `function` is an alias of `method` message: 'use our own logger instead' errorTip: 'see https://our-docs.example/logging on how logging should be used'Begin writing your own rules disallowedFunctionCalls: - function: 'var_dump()' # `method` is an alias of `function` message: 'use logger instead'
이 확장 프로그램은 매우 포괄적이므로 대부분의 시나리오를 다룰 수 있습니다. 물론 작동하지 않는 상황이 있을 수 있으므로 가장 좋은 방법은 자신만의 규칙을 작성하는 방법을 배우는 것입니다.
이 내용은 다른 기사에서 다루겠습니다.
PHPStan을 사용하여 업그레이드 회귀를 포착하는 것은 특히 대규모 개발 팀에서 업그레이드 프로세스를 더 쉽게 만드는 현명한 방법입니다. 지속적인 통합 설정에 PHPStan 적용
위 내용은 PHP 업그레이드: PHPStan으로 회귀 차단의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!