как установить пользовательское правило для неиспользуемой переменной и метода в php-коде sinffer?

Я использую сниффер кода php с smyfony 3.1.

Имя пакета: Squiz Я пытаюсь запустить команду phpcs в своем проекте на основе symfony.

Команда:

phpcs --standard=/c/xampp/php/pear/PHP/CodeSniffer/Standards/Squiz  src/MYBundle/Controller/MYController.php  

Команда работает нормально. В этом контроллере/классе я объявил некоторую частную переменную и имя метода, которые нигде не используются в контроллере/классе.

Набор правил

Я добавил новое правило в файл ruleset.xml и создал новый файл в этом каталоге [Sniffs\Rule\UnusedPrivateField] UnusedPrivateField.php

<rule name="UnusedPrivateField"
          since="0.2"
          message="Avoid unused private fields such as '{0}'."
          class="Sniffs\Rule\UnusedPrivateField"
          externalInfoUrl="http://phpmd.org/rules/unusedcode.html#unusedprivatefield"></rule>

Вопрос: Как вызвать код "UnusedPrivateField.php" из нового набора правил?


person Ashish Kumar Saxena    schedule 24.04.2017    source источник
comment
Формат вашего тега правила отличается от любого из примеров PHPCS, поэтому я не уверен, почему вы написали его именно так. Есть особая причина? Кроме того, на самом деле вам не нужно включать теги правил для sniff, которые существуют в папке Sniffs стандарта — PHPCS импортирует их автоматически (используйте phpcs -vv, чтобы увидеть, как анализируется набор правил). А вы не говорите, под какую Sniffs папку снифф положить - она ​​под Squiz/Sniffs? Вы также, кажется, говорите, что у вас есть структура из трех папок, когда PHPCS ожидает две (Sniffs/CategoryName/SniffName.php). Я думаю, что мне нужно больше информации, чтобы помочь.   -  person Greg Sherwood    schedule 26.04.2017


Ответы (1)


Для этого вы можете использовать UnusedPrivateElementsSniff.

Я использую его больше года, и он отлично работает.

person Tomas Votruba    schedule 03.05.2017