>  기사  >  백엔드 개발  >  PHP 업그레이드: PHPStan으로 회귀 차단

PHP 업그레이드: PHPStan으로 회귀 차단

Barbara Streisand
Barbara Streisand원래의
2024-09-24 20:15:31900검색

PHP Upgrades: Block regressions with PHPStan
Unsplash의 Ron McClenny 사진

사람들은 PHPStan을 생각할 때 일반적으로 유형 적용 범위 개선을 생각합니다. 이는 실제로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.