В этой статье будем рассматривать настройку среды разработки для работы с Drupal. В случае нашей компании - это PhpStorm. Разберёмся, как в данной IDE активировать встроенную поддержку Drupal API, задать стиль кодирования Drupal и настроить автоматическую проверку кода на основе PHP_CodeSniffer. Все настройки будем выполнять на базе операционной системы Ubuntu 22.04.

 

Drupal API

В PhpStorm открываем проект и переходим File > Settings > PHP > Frameworks. В разделе Drupal ставим галочку Enable Drupal integration, указываем путь установки Drupal и выбираем версию. При этом файлы Drupal необязательно должны быть внутри проекта, можно расположить их отдельно.

PhpStorm интеграция Drupal

После того, как PhpStorm выполнит переиндексацию, откроется доступ к подсказкам по хукам, их описаниям и вариантам реализации в проекте.

 

Drupal Code Style

PhpStorm содержит предустановленный стиль кода для Drupal. Открываем File > Settings > Editor > Code Style > PHP. В правой части открывшихся настроек выбираем Set from... > Drupal и сохраняем изменения.

PhpStorm Drupal Code Style

Имеются и другие предустановленные стили:

  • CSS — открыть File > Settings > Editor > Code Style > Style Sheets > CSS, выбрать Set from... > Drupal CSS Style.
  • JavaScript — открыть File > Settings > Editor > Code Style > JavaScript, выбрать Set from... > Drupal JavaScript Style.

Теперь IDE сама будет следить за расстановкой переносов, отступов, скобок и много за чем ещё, основываясь на стандартах кодирования Drupal. Выполнив Code > Reformat Code, можно автоматически отформатировать код в открытом файле или выделенном блоке согласно текущему стилю.

 

PHP_CodeSniffer

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

Стандарты представляют собой большой объём данных, поэтому вручную следить за их соблюдением проблематично. Упростить данный процесс помогают инструменты автоматизированной проверки кода. В нашем случае речь пойдёт о PHP_CodeSniffer.

Для установки PHP_CodeSniffer необходим Composer. Если он у вас уже имеется, то переходите на следующий шаг.

$ sudo apt install composer

Проверяем корректность установки.

$ composer

Ставим Coder глобально с помощью Composer. PHP_CodeSniffer будет автоматически установлен в качестве зависимости.

$ composer global require drupal/coder

В PhpStorm открываем проект и переходим File > Settings > PHP > Quality Tools. В разделе PHP_CodeSniffer открываем настройки локальной конфигурации.

Настройки Code Sniffer в PhpStorm

Локальная конфигурация Code Sniffer в PhpStorm

В поле PHP_CodeSniffer path нужно указать системный путь до исполняемого файла phpcs. Узнать его расположение можно с помощью следующих команд.

$ composer config --global home
$ composer config --global bin-dir

В нашем случае исполняемый файл располагается по адресу ~/.config/composer/vendor/bin/phpcs.

После указания пути можно выполнить проверку работоспособности PHP_CodeSniffer с помощью кнопки Validate. Также можно задать тайм-аут для ожидания результата проверки.

Для включения автоматической проверки кода открываем File > Settings > Editor > Inspections. В разделе PHP находим подраздел Quality tools, в котором включаем проверку PHP_CodeSniffer validation. Далее выбираем стандарт кодирования и тип отображаемых сообщений.

Делаем команду phpcs доступной глобально.

$ export PATH="$PATH:$HOME/.config/composer/vendor/bin"

Указываем, где искать стандарты кодирования Drupal.

$ phpcs --config-set installed_paths ~/.config/composer/vendor/drupal/coder/coder_sniffer

Указываем версию ядра Drupal, в контексте которой выполняется проверка. Для седьмой версии следует указывать "7", для более поздних - "8" (значение по умолчанию). В зависимости от указанной версии меняется результат проверки, так как различаются проверяемые стандарты.

$ phpcs --config-set drupal_core_version 8

Проверяем доступные стандарты кодирования.

$ phpcs -i

В PhpStorm станут доступны для выбора новые стандарты - Drupal и DrupalPractice. В качестве основного следует использовать первый стандарт. Второй будет полезен для обнаружения некоторых распространённых ошибок.

Стандарты PHP Code Sniffer в PhpStorm

 

Проверка кода из консоли

В завершение несколько полезных примеров использования PHP_CodeSniffer для проверки кода напрямую из консоли.

Проверка заданного файла.

$ phpcs --colors --standard=Drupal /path/to/file/file.inc

По умолчанию PHP_CodeSniffer проверяет файлы только со следующими расширениями: inc, php, js и css. Для проверки файла с другим расширением необходимо явно его указать.

$ phpcs --colors --standard=Drupal --extensions=module /path/to/file/file.module

Рекурсивная проверка всех файлов в директории с заданными расширениями.

$ phpcs --colors --standard=Drupal --extensions=php,inc,module /path/to/folder/

Проверка с переопределением конфигурации.

$ phpcs --runtime-set drupal_core_version 7 --colors --standard=Drupal /path/to/file/file.inc

Комментарии

Alexey

Спасибо, по последней ссылке нашел такую инфу
In PhpStorm you can only set one standard at a time through the UI.
But you can cheat and edit the Project_Default.xml file in the .idea folder.
Find the CODING_STANDARD option and change it to:

Здравствуйте, у меня нет опции Друпал.. File -> Settings -> Languages & Frameworks -> PHP -> Drupal

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

CAPTCHA