
사용하지 않는 개인 클래스 요소는 클래스 자체에서 사용되지 않기 때문에 쉽게 찾을 수 있습니다. 그러나 공개 방법/속성/상수는 어떻습니까?
final class Book
{
public function getTitle(): string
{
// ...
}
- public function getSubtitle(): string
- {
- // ...
- }
}사용하지 않은 공개 요소를 어떻게 감지 할 수 있습니까?
이것이 바로이 패키지가하는 일입니다.
이 기술은 개인 프로젝트에 매우 유용하며 현지에서만 불리는대로 private 으로 변경 해야하는 실수로 사용되는 public 수정자를 탐지하는 데 매우 유용합니다.
composer require tomasvotruba/unused-public --dev패키지는 PHP 7.2+ 버전에서 사용할 수 있습니다.
Phpstan Extension 설치 프로그램을 사용하면 모든 것이 실행될 준비가되었습니다.
간단한 구성으로 각 항목을 스스로 활성화하십시오.
# phpstan.neon
parameters :
unused_public :
methods : true
properties : true
constants : true수백 개의보고 된 공개 방법이 있습니까? 당신은 그들 모두를 확인할 시간이 없지만 점차적으로 처리하고 싶습니까?
대신 최대 허용 % 구성을 설정하십시오.
# phpstan.neon
parameters :
unused_public :
methods : 2.5이는 모든 공개 방법의 최대 2.5 %가 사용하지 않는 것으로 허용된다는 것을 의미합니다.
제거해서는 안되지만 대신 private / protected 로 바꾸는 로컬 전용 메소드 호출을 확인하려고합니까?
# phpstan.neon
parameters :
unused_public :
local_methods : true 일부 방법은 나뭇 가지 또는 블레이드 템플릿에서만 사용되며 사용되지 않은 것으로 긍정적으로보고 될 수 있습니다.
{{ book. getTitle () }}우리는 어떻게 배제 할 수 있습니까? 구성에 나뭇 가지 또는 블레이드 템플릿 디렉토리를 추가하여 메소드 이름을 제외하십시오.
# phpstan.neon
parameters :
unused_public :
template_paths :
- templates 경우에 따라 규칙은 잘못된 양성을보고합니다.
오픈 소스 공급 업체는 프로젝트에서 사용할 공개 API를 설계합니다. 요소가 사용하지 않는 것으로보고되었지만 실제로는 공개적으로 사용되도록 설계 되었습니까?
클래스 또는 요소를 @api 주석으로 표시하여 건너 뜁니다.
final class Book
{
/**
* @api
*/
public function getName ()
{
return $ this -> name ;
}
}