Drush
Drush — программа для управления сайтом Drupal из терминала. Всё, что она делает, можно сделать и в панели, но командой быстрее: очистить кеш, включить модуль, войти администратором. Разработчик запускает её десятки раз в день.
Запуск
Drush установлен в проект на прошлом уроке и лежит в vendor/bin. Его запускают из папки проекта:
vendor/bin/drush statusКоманда печатает версию Drupal, версию PHP, имя базы данных и путь к сайту. Если вместо этого появилась ошибка, вы находитесь не в папке проекта.
Дальше в курсе для краткости написано просто drush — подразумевается vendor/bin/drush.
Очистка кеша
vendor/bin/drush cache:rebuildКороткая запись — drush cr. Drupal запоминает список маршрутов, хуков, сервисов, шаблонов и плагинов, чтобы не искать их при каждом запросе. Поэтому после изменения файлов модуля новое не появится, пока кеш не очищен. Эта команда нужна после каждого урока курса.
Основные команды
| Команда | Коротко | Что делает |
|---|---|---|
drush cache:rebuild | drush cr | Очищает кеш |
drush pm:install blog | drush en blog | Включает модуль |
drush pm:uninstall blog | drush pmu blog | Отключает модуль и удаляет его данные |
drush pm:list | drush pml | Список модулей и их состояние |
drush user:login | drush uli | Одноразовая ссылка для входа администратором |
drush watchdog:show | drush ws | Последние записи журнала |
drush cron | Запускает задачи по расписанию | |
drush status | drush st | Сведения о сайте |
Справку по любой команде показывает drush help, например drush help pm:install.
Установка готового модуля
Готовые модули с drupal.org скачивает Composer, а включает Drush. Установим Admin Toolbar — он добавляет выпадающие меню в панель:
composer require drupal/admin_toolbar
vendor/bin/drush en admin_toolbarПервая команда кладёт модуль в web/modules/contrib/admin_toolbar, вторая включает его. После обновления страницы пункты верхнего меню панели начнут раскрываться при наведении.
Вход без пароля
vendor/bin/drush uliКоманда печатает адрес вида http://default/user/reset/1/.... Откройте его в браузере, заменив default на 127.0.0.1:8888, — и вы войдёте администратором.
Частая ошибка
Вы добавили маршрут, хук или шаблон, а на сайте ничего не изменилось. Почти всегда причина в кеше: выполните drush cr. Возьмите за правило запускать эту команду после любого изменения файлов .yml, после добавления хука и нового класса-плагина.