Установка и настройка PHP CodeSniffer
Опубликовано вс, 18/05/2014 - 19:11
PHP CodeSniffer - это скрипт, который проверяет PHP (также JavaScript и CSS) файлы на наличие нарушений для определенного стандарта кодирования. Является очень важным инструментом разработки, помогает сделать Ваш код чистым и последовательным. Также помогает предотвратить некоторые общие семантические ошибки, допущенные разработчиками.
Содержание
- Инсталляция PHP Code Sniffer
- Установка стандартов кодирования Drupal
- Связываем Code Sniffer со стандартами кодирования
- Полезные советы
Инсталляция PHP Code Sniffer
Для установки Code Sniffer у Вас уже должен быть установлен PHP на той же машине, на которой установлен PHPStorm. Вы можете установить PHP отдельно, скачав для Windows по ссылке[2] или же установить Drush (содержит PHP) для Windows. Также PHP входит в состав таких программ как: Denwer, OpenServer, Wampserver, Acquia Dev Desktop, XAMPP и т.д.
Если Вы не знаете в какой директории расположен PHP, откройте командную строку и введите
1 |
where php.exe |
Итак, если у Вас не установлен Drush настоятельно рекомендую это сделать. Для этого Вам необходимо скачать[3] его с гитхаба со страницы релизов. Далее будут приведены настройки исходя из того, что у Вас уже установлен Drush.
Перейдите в директорию установки Drush в папку PHP (у меня это C:\Program Files (x86)\Drush\Php\).
Запускаем файл go-pear.bat. Появится окно командной строки и на все предложенные вопросы жмем ENTER.
После запуска go-pear.bat файла в папке PEAR должно появится множество папок и файлов.
Далее необходимо вызвать командную строку и перейти в директорию C:\Program Files (x86)\Drush\Php\ или же если у Вас открыт Total Commander (и Вы уже находитесь в нужной директории) достаточно в его командной строке вести cmd и нажать ENTER для вызова командной строки Windows.
Вводим команду по установке PHP_CodeSniffer.
1 |
pear install PHP_CodeSniffer |
После установки Code Sniffer обратите внимание на существование следующих папок и файлов:
- файл phpcs.bat в директории С:\Program Files (x86)\Drush\Php\.
- папка CodeSniffer в директории С:\Program Files (x86)\Drush\Php\PEAR\PHP\.
Установка стандартов кодирования Drupal
Следующий шаг - необходимо скачать стандарты кодирования для Drupal. Скачиваем модуль Coder и распаковываем его. В папке модуля нас интересует папка Drupal, которая находится в директории coder\coder_sniffer\. Эту папку необходимо скопировать в директорию C:\Program Files (x86)\Drush\Php\PEAR\PHP\CodeSniffer\Standards\.
Теперь нам нужно включить Code Sniffer в PHPStorm и указать исполняемый файл (тот самый phpcs.bat). Для этого Вам нужно пройти на вкладку Конфигурация, щелкнув по кнопке или через меню File → Settings. В окне настроек выбираем вкладку PHP → Code Sniffer и указываем путь до нашего файла phpcs.bat.
Проверяем корректную работу нажатием на кнопку Validate. Если Вы получаете ошибку как на рисунке ниже - ошибка в указании пути до php.exe. Необходимо отредактировать файл phpcs.bat, внеся небольшие изменения.
Если Вы откроете phpcs.bat любым текстовым редактором, то увидите последнюю строку примерно такую:
1 |
".\php.exe" -d auto_append_file="" -d auto_prepend_file="" -d include_path="'c:\Program Files (x86)\Drush\Php\pear'" -f "c:\Program Files (x86)\Drush\Php\phpcs" -- %* |
Убираем .\ перед php.exe и сохраняем изменения. В итоге у нас должно получиться так:
1 |
"php.exe" -d auto_append_file="" -d auto_prepend_file="" -d include_path="'c:\Program Files (x86)\Drush\Php\pear'" -f "c:\Program Files (x86)\Drush\Php\phpcs" -- %* |
Проверяем правильность внесенных изменений - снова жмем на кнопку Validate. Следующее сообщение свидетельствует о том, что мы все сделали правильно.
Связываем Code Sniffer со стандартами кодирования
Следующий шаг - необходимо указать в настройках Code Sniffer стандарты кодирования для Drupal. Для этого Вам нужно пройти на вкладку Конфигурация, нажав на кнопку или чеерз меню File → Settings. В окне настроек выбираем вкладку Inspections и в списке PHP выбираем чекбокс PHP Code Sniffer Validation. В выпадающем списке Code standard выбираем Drupal. Если Вы кроме Custom ниче не видите, нажмите на кнопку “обновить”
Полезные советы
Code Sniffer будет проверять ваш код автоматически, однако, если Вы желаете запустить проверку вручную или проверить сразу весь проект, то Вам нужно выбрать в главном меню пункт Code → Inspect code. В окне настроек выбираем необходимые нам параметры.
Если в процессе работы у Вас возникают ошибки подобные этой,
то это означает, что Code Sniffer не успевает справиться с анализом кода на странице и ему требуется больше времени. Для того, чтобы скорректировать время выполнения Code Sniffer Вам нужно пройти на вкладку Конфигурация, щелкнув по кнопке или через меню File → Settings. В окне настроек выбираем вкладку PHP → Code Sniffer и изменяем параметр Tool process timeout, sec [1...30], например, на секунд 15.
Дополнительная информация по статье
- Версии программных продуктов, используемых в статье: PHPStorm 7.1, CodeSniffer 1.5.1
- http://windows.php.net/downloads/releases/ - версии PHP для Windows.
- https://github.com/drush-ops/drush/tags - страница релизов Drush.