PhpStorm에서 매개 변수 값을 사용하지 않는 경고를 침묵시키고 싶습니다.

2046 단어 PhpStorm
PhpStorm은 코드를 검사하고 이상한 것은 여러 가지 경고해 주셔서 감사합니다.

그 중 하나는 매개 변수 값을 사용하지 않는 경고입니다. 경우에 따라서는 정말로 사용하지 않지만 그렇다고 해서 파라미터를 깎을 수는 없는 경우도 있습니다.

예를 들어, Laravel에서 독자적인 validator를 정의한다. 있습니다.



PhpStorm의 기능으로 이것을 침묵시키는 방법은 다음과 같습니다.
  • Preference에서 설정한다. 옵션으로 익명 함수에 대해서만 침묵시킬 수도 있습니다.
  • 주석 Validator::extend 사용

  • 하지만 어느 쪽도 조금 범위가 너무 넓어, 위의 예라고 $value 이외의 3개의 파라미터에 대해서만 침묵시키고 싶습니다만 잘 작동하지 않습니다. Perference는 원래 전체에 영향을 미치고, /** @noinspection PhpUnusedParameterInspection */ 어노테이션에서도 블록의 끝까지가 영향 범위가 되어 버리므로 파라미터 마다 억제할지 않거나 전환할 수 없는 것 같습니다.

    거기서 생각한 것이 이하의 방법입니다.
            Validator::extend('foo', function ($attribute, $value, $parameters, $validator) {
                assert([$attribute, $parameters, $validator]); // unused
    
                return $value === 'foo'
            });
    

    사용하지 않는다고 일어난다면 사용하면 침묵하는 것입니다. PHP7라면 $value 를 -1로 하면 @noinspection 의 코드 생성이 되지 않기 때문에 프로덕션계 등에서는 그렇게 하면 성능에의 영향은 없을 것. 너무 많이?

    PHP에도 다른 언어로 자주 있는 사용하지 않는 파라미터를 명시하는 방법(예를 들면 zend.assertions 같다)이 있으면 좋겠습니다만.

    좋은 웹페이지 즐겨찾기