Несколько недель назад в PhpStorm 8 (доступной в рамках программы раннего доступа / Early Access Program) была добавлена поддержка популярной CMS WordPress. Свежий билд PhpStorm 8 EAP можно загрузить бесплатно прямо сейчас, так что все описанное в данном обучающем материале уже можно попробовать, а мы в свою очередь будем благодарны обратной связи в нашем багтрекере.
Исчерпывающую информацию о поддержке WordPress в PhpStorm можно найти в англоязычном материале WordPress Development using PhpStorm. В этом посте мы расскажем о самых важных функциях, включенных в поддержку WordPress в PhpStorm.
На данный момент поддержка включает:
- интеграцию PhpStorm с WordPress для существующих проектов и новых плагинов;
- настройку рабочей среды для разработки под WordPress;
- настройку стандартов оформления кода WordPress и следование им;
- поддержку хуков (включая автодополнение для параметров регистрирующих функций; навигацию от функций, регистрирующих хуки, к вызовам хуков; и другие функции);
- поиск документации на WordPress.org прямо из редактора;
- интеграцию с инструментами командной строки WordPress WP-CLI.
Интеграция с WordPress для существующих проектов и новых плагинов
Включение интеграции в существующих проектах
Если проект, над которым вы ведете работу, распознается как плагин к WordPress, вам будет автоматически предложено включить поддержку WordPress в проекте.
Необходимо ввести/выбрать путь к папке установки WordPress (WordPress Installation Path — корневая папка установка WordPress, в которой расположены папки wp-admin и wp-includes).
Интеграцию с WordPress для проекта можно включить или отключить в настройках Settings | WordPress | Enable WordPress Integration.
Создание нового плагина к WordPress
Новый WordPress-плагин может быть создан с начального экрана (Welcome) или через File | New Project. Выберите тип проекта WordPress Plugin и, после нажатия ОК, введите/выберите путь к инсталляции WordPress (WordPress Installation Path).
Начальный файл плагина в проекте будет создан автоматически по стандартному шаблону (файл plugin-name.php с соответствующей мета-информацией о плагине).
Настройка рабочей среды для разработки под WordPress
Вне зависимости от метода активации интеграции с WordPress (путем создания нового плагина или включения поддержки для существующего проекта), IDE проверит конфигурацию на предмет соответствия лучшим практикам разработки под WordPress. Если текущая конфигурация может быть улучшена, появятся всплывающие окна с предложениями по автоконфигурации среды разработки.
Все предложения PhpStorm в рамках интеграции с WordPress также можно просмотреть в окне Event Log.
PhpStorm с включенной поддержкой WordPress предлагает следующие опции автоконфигурации среды разработки:
- конфигурация Include Path (в случае, когда директория wp-content и/или ваш плагин находятся ВНЕ инсталляции WordPress);
- конфигурация Content Root (в случае, когда директория wp-content и ваш плагин находятся ВНУТРИ инсталляции WordPress);
- переключение на стандарт оформления кода WordPress (стандарт оформления кода можно изменить в настройках Settings | Code Style | PHP. Стандарт оформления кода WordPress может быть применен путем выбора Set from… | Predefined Style | WordPress).
Поддержка хуков WordPress (WordPress Hooks)
Автодополнение для параметров функций WordPress типа Action и Filter (автодополнение хуков)
Все хуки, объявленные в ядре WordPress и подключенных модулях, индексируются редактором PhpStorm при включенной интеграции с WordPress, что делает возможным отображение имен хуков в автодополнении кода (по стандартному действию Ctrl+Space) для параметров стандартных функций action и filter (к примеру, add_action и add_filter).
Навигация от регистрации хуков (функций типа action и filter) к вызовам хуков
Навигация может быть осуществлена от мест регистрации хуков WordPress (с помощью регистрирующих функций, таких как add_action и add_filter) к местам вызова хуков (hook invocations) путем щелчка на иконке навигации на левом поле редактора:
Callback с регистрации хука
Переход от объявления функции/метода, заданного вторым параметром функций регистрации хуков actions/filter (add_action и add_filter), производится по действию Ctrl+Click (CMD-Click на Mac OS X) или Ctrl+B (CMD-B на Mac OS X).
Navigate to Symbol… для хуков
При помощи Navigate | Symbol… (Ctrl+Alt+Shift+N на Windows/Linux, CMD-ALT-O на Mac OS X) вы можете искать вызовы хуков и легко переходить к ним. Для тех же целей можно использовать действие Search Everywhere (Double-Shift).
Реализованы и другие функции, осуществляющую поддержку хуков, например Find Usages (поиск использований).
Поиск документации на WordPress.org прямо из редактора
Переход к документации по WordPress на официальном ресурсе http://WordPress.org возможен прямо из PhpStorm с использованием текстового поиска. Просто выберите элемент кода (текст, функцию и т. д.), который требуется найти в документации, и выберите действие Search on WordPress.org из контекстного меню редактора.
Будет открыт браузер, выбранный по умолчанию, с результатами поиска по документации WordPress.
Интеграция с инструментами командной строки WordPress WP-CLI
WP-CLI — это набор инструментов командной строки для управления установками WordPress. Вы можете обновлять плагины, осуществлять мультисайтовые установки и многое другое (и все это без использования браузера).
Мы рекомендуем устанавливать инструменты командной строки WordPress WP-CLI, следуя инструкциям на официальном сайте (путем скачивания PHAR-пакета) или используя Composer прямо из PhpStorm (пакет wp-cli/wp-cli).
Более подробная информация о конфигурации WP-CLI и многих других функциях, включенных в поддержку WordPress в PhpStorm, можно найти в полном обучающем материале по разработке под WordPress с использованием PhpStorm.
Вы можете ознакомиться с уже известными нам задачами и багами по интеграции с WordPress. Мы будем рады любым комментариям по текущей поддержке WordPress в PhpStorm и другим подсистемам нашей IDE.
Загрузите последний билд PhpStorm 8 EAP с поддержкой WordPress и многими другими новшествами прямо сейчас!
Программируйте с удовольствием!
~ Команда JetBrains PhpStorm
Автор: MikhailVink