Как исключить файлы из PHP CodeSniffer
Когда вы работаете с PHP CodeSniffer и делаете это в терминале, вы, вероятно, хотите вывести ошибки во что-то другое, кроме вашей IDE.
Я имею в виду, если бы это было так, вы бы просто запустили его в своем редакторе, верно?
Но бывают случаи, когда вам может быть интересно найти проблемы в чужом коде. Возможно, это зависимость, возможно, это стороннее программное обеспечение или, возможно, это услуга.
В любом случае, если вы настроили каталог проекта таким образом , что Composer включает PHP CodeSniffer, и вы используете стандарты кодирования WordPress, то вам, вероятно, потребуется исключить файлы из PHP CodeSniffer при запуске программа.
И вот как вы можете это сделать.
Прежде чем перейти к необходимым командам, я предполагаю, что у вас есть примерно такая настройка каталога:
Возможная структура каталогов.
То есть у вас есть:
- куча файлов PHP (и подкаталоги, содержащие файлы PHP),
- файл composer.json для включения PHP CodeSniffer в проект
- каталог поставщика, который включает зависимости для PHP CodeSniffer
Если у вас установлены стандарты кодирования WordPress, но они не установлены для PHP CodeSniffer, введите следующую команду:
$ ./vendor/bin/phpcs --config-set installed_paths ~/path/to/wpcs
Итак, вот проблема:
Вы хотите исключить файлы из PHP CodeSniffer, но у вас есть много файлов для прослушивания (а именно, поскольку вы ввели каталог поставщика). Как исключить файлы из PHP CodeSniffer, но при этом получить желаемые результаты?
Вам понадобится несколько дополнительных команд:
- убедитесь, что вы включили стандарты кодирования WordPress как часть конфигурации,
- явно указать PHP CodeSniffer использовать стандарт WordPress
- указать PHP CodeSniffer, какие каталоги игнорировать и какие файлы обрабатывать
Звучит сложно? Команда действительно проста:
$ ./vendor/bin/phpcs --ignore=*/vendor/* --standard=WordPress .
И терминал должен в конечном итоге выглядеть так:
Чистый результат прослушивания только файлов PHP для текущего каталога.
На этом этапе вы должны иметь возможность просматривать ошибки в своем терминале (надеюсь, их нет, верно? 😏) или вы можете передать их в другой файл для просмотра в другом приложении или позже.
