Проверка на стандарты кодирования Drupal в Ubuntu

09.03.2013 3

Если вы хотите чтобы код, который вы пишите в модулях или темах соотвествовал всем стандартам Drupal, то самый простой способ - использовать сниффер для проверки. Он выведет нам в каком файле и какие ошибки были допущены, что значительно облегчит путь до правильного Drupal-кода.

При публикации своего первого модуля на проверку, мне как и всем скинули ссылку на некий сайт: http://ventral.org/pareview/. На нем проводится првоерка кода на соответствие стандартам из git репозитария песочницы. В принципе, да удобно, но после каждой проавки делать коммит и пушить изменения чтобы проверить исправления - не удобно. Поэтому я копил их пачками и всеравно оставались проблемы или всплывали новые и поэтому пришлось это дело перенести на локалку.

Итак, как проверять код у себя на компьютере:

Для начала нам надо установить php-pear и обновить "каналы".

sudo apt-get install php-pear
sudo pear update-channels

Далее нам нужен PHP Code Sniffer: sudo pear install PHP_CodeSniffer

Теперь качаем (именно качаем, а не устанавливаем в Drupal) Coder ветки 7.x-2.x

Распаковываем в любое удобное для хранения место. Например, я распокавал в домашнюю папку, затем переимновал coder в .coder, чтобы папка была скрытой.

Делаем ссылку(ярлык) на папку со стандртами (coder) в PHP CodeSniffer, чтобы он мог с ними работать. (не забудьте указать свой адрес до coder)

sudo ln -sv /home/username/.coder/coder_sniffer/Drupal $(pear config-get php_dir)/PHP/CodeSniffer/Standards/Drupal

Все, теперь можно использовать используя команду: phpcs --standard=Drupal --extensions=php,module,inc,install,test,profile,theme,css,js path

Где:

  • extensions - список расширений через запятую на проверку стандартам.
  • path - путь до файла или папки, которую необходимо проверить на стандарты. (Если указать папку, то проверяет все файлы, включая вложенные папки.)

А использовать можно например во встроенном терминале ваше IDE.

P.s.

Как правило он находит огромное количество ошибок. 90% из них исправляются правильной настройкой IDE под стандарты Drupal.

Комментарии

И
Игорь # 14.08.2013 - 18:40

Отличная статья, спасибо. Еще можно круто прикрутить такую проверку на hook системы контроля версий, например Mercurial или Git

А
Андрей # 12.10.2017 - 20:35

Не знаю с какого года, но теперь Coder идет в виде полноценного модуля и позволяет проверять другие модули и темы прямо на сайте.

Добавить комментарий

В комментариях присутствует поддержка Markdown синтаксиса. Показать подсказку.
Ссылка
[Заголовок](http://google.ru)
Код в строку
`print "Hello World";`
Многострочный код
```php print "Hello World"; ```
Жирный текст
*Текст*
Курсивный текст
_Текст_