Ускорение разработки Drupal с Drupal Console и Drush
Опубликовано: 2022-02-22Мы много писали (мы занимаемся этим) о том, как Drupal 8 не только модернизировал цифровые возможности для пользователей, но и облегчил работу разработчиков Drupal. В этой статье мы собираемся обсудить два таких служебных инструмента Drupal 8/9, которые значительно упростили и улучшили способ работы с кодом, модулями и установками Drupal — Drupal Console и Drush.
Что такое Drupal-консоль
С появлением Drupal 8 стало необходимо добавлять много стандартного кода для создания нового модуля. Конечно, вы можете просто скопировать и вставить код, но многократное повторение может привести к большому количеству ошибок. Ничего страшного. Мы люди. К счастью, у нас есть консоль Drupal — набор инструментов, запускаемых через CLI (интерфейс командной строки), который позволяет автоматически генерировать шаблонный код. Он использует консоль Symfony и другие сторонние компоненты для генерации большей части кода, необходимого для создания модуля Drupal 8/9.
Что такое Друш
Drush (Drupal + Shell) — это оригинальный инструмент командной строки для Drupal. Он позволяет легко запускать новые веб-сайты Drupal и помогает оптимизировать задачи разработки и администрирования. Drush поставляется со многими простыми в реализации командами, которые позволяют вам взаимодействовать с вашими установками Drupal, темами, модулями и многим другим. Некоторые другие задачи, которые вы можете выполнять с помощью Drush, включают экспорт/импорт конфигураций, кэширование, обновление модулей contrib, обновление базы данных и многое другое.
Drush хорошо работает с Drupal 6/7/8/9 и предлагает преимущества современных методов разработки. Это помогает сэкономить время разработки как при переносе существующих модулей Drupal, так и при создании новых, тем самым повышая производительность. В этой статье вы узнаете, как создавать собственные пользовательские команды Drush.
Установка консоли Drupal
Консоль Drupal можно установить различными способами, такими как composer, curl, phar и т. д. Вот пример ее установки с помощью composer:
Установить глобально через композитор
composer global require drupal/console
Установка для конкретного сайта
1. Перейдите на сайт Drupal в CLI:
cd /path/to/drupal_site
2. Выполните команду composer require:
composer require drupal/console:~1.0 --prefer-dist --optimize-autoloader
Установка Друша
Drush можно установить различными способами, такими как composer, curl или phar. Вот пример установки с помощью композитора:
Установить глобально через композитор
composer global require drush/drush
Установка для конкретного сайта
1. Перейдите на сайт Drupal в CLI:
cd /path/to/drupal_site
2. Выполните команду composer require:
composer require drush/drush
Команды консоли Drupal и их использование
Ознакомьтесь с некоторыми из самых популярных и полезных команд Drupal Console и узнайте, когда их можно использовать.
Команда отладки Drupal
- Чтобы определить точки останова при работе над темами:
drupal debug:breakpoints {theme_name}
Пример: drupal debug:точки останова bartik
- Чтобы легко найти класс и имя сервиса при работе с сервисами:
drupal debug:config:settings
- Чтобы определить точку отказа, когда у вас есть болезненные сломанные блоки:
drupal debug:plugin block broken
Создание пользовательских модулей
Создавайте собственные модули за минуту с помощью этой команды:
drupal generate:module \ --module="modulename" \ --machine-name="modulename" \ --module-path="/modules/custom" \ --description="My Awesome Module" \ --core="8.x" \ --package="Custom" \ --module-file \ --composer \ --test \ --twigtemplate
Создать пользовательскую форму
Требования к пользовательским формам очень распространены в проектах. Легко создать пользовательскую форму с помощью этой команды:
drupal generate:form \ --module="modulename" \ --class="DefaultForm" \ --form- \ --config-file \ --path="/modulename/form/default"
Создать форму конфигурации
Как и в случае с пользовательскими формами, нам также требуются формы, настроенные администратором. С помощью этой команды вы можете легко их создать:
drupal generate:form:config \ --module="modulename" \ --class="DefaultForm" \ --form- \ --config-file \ --path="/modulename/form/default"
Создать контроллер
Для пользовательских форм вам понадобятся контроллеры. Вы можете легко создавать собственные контроллеры с помощью этой команды:
drupal generate:controller \ --module="modulename" \ --class="DefaultController" \ --routes='"title":"ControllerMethod", "name":"modulename.default_controller_hello", "method":"hello", "path":"/modulename/hello/{name}"' \ --test
Создать пользовательскую сущность
Создание пользовательского объекта не должно занимать много времени. С помощью этой команды вы можете создать его быстро и легко:
drupal generate:entity:content \ --module="modulename" \ --entity-class="DefaultEntity" \ --entity-name="default_entity" \ --base-path="/admin/structure" \ --label="Default entity" \ --is-translatable \ --revisionable --has-forms
Создать специальную услугу
Эта команда поможет вам создать пользовательские сервисы:
drupal generate:service \ --module="modulename" \ --name="modulename.default" \ --class="DefaultService" \ --interface \ --interface-name="InterfaceName" \ --path-service="/modules/custom/modulename/src/"
Создавайте контент, как пользователь: создать
Чтобы создать пользователя из серверной части, вам не нужно открывать браузер и входить в систему с правами администратора, а затем создавать учетную запись. Просто используйте эту команду, чтобы создать пользователя в один миг:
drupal user:create username password \ --roles='authenticated' \ --email="[email protected]" \ --status="1"
Сгенерировать плагин как блок
Консоль Drupal также способна генерировать множество плагинов, таких как блоки. Вот пример создания пользовательского блока:
drupal generate:plugin:block \ --module="modulename" \ --class="DefaultBlock" \ --label="Default block" \ --plugin- \ --theme-region="header" \ --inputs='"name":"inputtext", "type":"text_format", "label":"InputText", "options":"", "description":"Just an input text", "maxlength":"", "size":"", "default_value":"", "weight":"0", "fieldset":""'
Чтобы узнать больше о консольных командах Drupal и их использовании, проверьте доступные команды.
Самые популярные команды Drush
драш кр | Чтобы восстановить кеш Drupal |
драш цим | Чтобы импортировать все файлы конфигурации |
драш секс | Экспорт файлов конфигурации |
друш ули | Для входа с использованием одноразового URL-адреса входа |
drush en {имя_модуля} | Включает любой модуль, либо пользовательский, либо вклад, либо ядро |
drush pmu {имя_модуля} | Отключает и удаляет любой модуль |
драш вечера: список | Список всех модулей с пакетом, именем модуля, версией и статусом. |
драш updb | Обновление базы данных после обновления |
drush watchdog: список (ws) | Список всех сообщений сторожевого таймера |
сторожевой пес дроша: хвост (wt) | Непрерывные сообщения сторожевого таймера |
сторожевой таймер drush:tail --type=php | Непрерывные сообщения сторожевого таймера с определенным типом серьезности |
Еще несколько крутых команд Drush
драш-статус | Предоставляет обзор текущей установки Drupal. |
генерировать драш | Как и в Drupal Console, команда drush generate помогает создавать объекты, плагины и многое другое. |
драш вечера: безопасность | Чтобы проверить пакет Drupal composer на наличие обновлений безопасности |
драш-миграция:статус | Список всех миграций с текущим статусом |
пользователь drush: пароль {имя пользователя} {пароль} | Устанавливает пароль пользователя |
пользователь drush: заблокировать | Помогает заблокировать пользователя |
drush пользователь:роль:добавить | Помогает добавлять роли пользователей |
drush sql-дамп | Экспортирует базу данных Drupal в виде SQL с помощью mysqldump или его эквивалента. |