Друпал стандарты в PhpStorm

... или как подсветить ошибки в PhpStorm по стандартам Drupal

Опубликовал Максим Баев, 28 января 2019, 14:14

Все мы давно используем эту крутую IDE, разработку которой начали два наши соотечественника из Питера (минутка гордости =) ). Она мощна и силы её безграничны.

Друпал программисты делятся на два типа: те, кто-то ещё не пишет по стандартам и те, кто уже пишет.

Быстрей попасть во вторую группу поможет фича PhpStorm'а, позволяющая прикрутить любые правила описывающие те или иные стандарты кода. Такие стандарты есть и у Друпала, хранятся они в модуле Coder.

По умолчанию код написанный программистом, не изучившим стандарты Друпал может выглядеть так

image

и вроде бы всё норм, ан нет...

Установка необходимого софта

Чтобы это исправить понадобится:

  1. Code Sniffer
  2. Описания стандартов Drupal (Drupal Standards, Drupal Best Practices) для Code Sniffer'а

Мы можем убить 2-х зайцев установив пакет drupal/coder с помощью Composer. На данный момент у меня установлен пакет версии 8.2. Он подходит и для Drupal 7 тоже.

Если устанавливать пакет глобально, то он попадёт в папку $HOME/.config/composer/vendor/drupal/coder. Пакет drupal/coder имеет у себя в зависимостях тот самый Code Sniffer, который также будет установлен, в папку $HOME/.config/composer/vendor/squizlabs/php_codesniffer.

Настройка PhpStorm

Открываем любой Drupal проект в PhpStorm и идём в настройки:

  1. File->Settings...->Language & Frameworks->PHP->Quality Tools
  2. Открываем справа категорию Code Sniffer
  3. Жмём три точки
  4. В появившемся окне вписываем полный путь до исполняемого файла код снифера. У меня он такой: /home/mbaev/.config/composer/vendor/bin/phpcs
  5. Жмём кнопку валидации. Должно выдать что-то вроде этого: OK, PHP_CodeSniffer version 2.9.1 (stable) by Squiz (http://www.squiz.net) image

Дальше включаем эти описания стандартов для проекта. Снова идём в настройки

  1. File->Settings...->Editor->Inspections
  2. Находим секцию PHP->Quality Tools->PHP Code Sniffer validation
  3. Включаем его (установив галочку напротив названия)
  4. Добавляем путь до снифера installed standard paths: /home/mbaev/.config/composer/vendor/drupal/coder/coder_sniffer
  5. В настройках снифера выбираем стандарт Drupal.
  6. Сохраняем image

Теперь тот же самый код выглядит уже по-другому:

image

image

image

Исправляем замечания и будьте уверены, что ваш код соответствует всем стандартам Drupal!

image Наслаждайтесь написанием профессионального кода!

Другие посты