Введение в Drush и Drupal Console

Drush и Drupal Console — это утилиты с comand line интерфейсом, которые значительно ускоряют администрирование и разработку сайтов на Drupal. После установки у вас появится возможность выполнять определенные действия просто вводя команды в окне терминала, тогда как те же самый действия, например, в браузере, могут занять несколько шагов. Drupal Console работает только с Drupal 8, а Drush работает с Drupal 6, 7, 8. Если вы начинаете работать с Drupal 8 мне кажется что, вам нужно знать оба инструмента.

Сравнение Drush и Drupal Console.

Что можно делать с помощью этих инструментов? Краткий перечень ниже:

Возможности Drush Возможности Drupal Console
  • Скачать и установить Drupal;
  • Скачивать contrib модули;
  • Обновлять сам Drupal и contrib модули;
  • Запускать updatedb;
  • Чистить кэш;
  • Запускать CRON;
  • Запускать Drupal на легком веб-сервере;
  • Импортировать, экспортировать и merge’ить конфигурации;
  • Добавлять пользователей и устанавливать для них роли;
  • Добавлять права доступа для ролей;
  • Осуществлять резервное копирование и восстановление Drupal’а;
  • Копировать базу данных и файлы на удаленный сервер;
  • Компилировать twig шаблоны;
  •  Генерировать код для:
    — Консольных команд;
    — Типов содержимого;
    — Контроллеров;
    — Сущностей;
    — Form alter hook’ов;
    — Типов полей, виджетов полей и виджетов вывода;
    — Эффектов изображений;
    — Rest ресурсов;
    — Сервисов;
    — Тем;
  • Переключать сайт в режим обслуживания и обратно;
  • Запуск unit тестов;

Надеюсь, что я вас заинтересовал, и вы готовы приступить к работе. Думаю, что пользователям Linux и MacOS не нужно ничего рассказывать про терминалы. А вот для пользователей Windows я бы посоветовал использовать Git Bash, вместо стандартной консоли. Скачать Git для Windows можно отсюда https://git-for-windows.github.io/.

Открываем нашу консоль. Дальше статья предполагает, что у вас уже есть навыки работы в консоли, если же вы новичок, то советую вам ознакомится со статьей «Введение в Bash» от Ray Toal.

Работаем с Drush и Drupal Console

Drush и Drupal Console очень похожи между собой, но это два разных пакета, соответственно они должны быть установлены по отдельности.

После установки пакетов, убедитесь, что они установились правильно. Для этого введите в консоли drush version и drupal —version, после этого вы увидите примерно то же что показано ниже. Номера версий могут отличаться в вашей системе.

Drush Drupal Console

Сейчас, давайте покажем мощь Drush’а и Drupal Console, используя их вместе. Первым делом, мы будем использовать Drush для загрузки, установки и запуска Drupal 8, с помощью команд pm-download (dl) и quick-drupal (qd).

После того как вы увидите сообщение в терминале, которое напечатано в примере выше, должна постоять небольшая пауза, и через несколько секунд должен открыться браузер со страницей только что установленного Drupal сайта. Быстро и легко!

Далее, мы будем использовать Drupal Console чтобы создать модуль для Drupal 8. Нажмите CTRL+C в окне консоли, чтобы оставить запущенный веб-сервер. Затем наберите команды, написанные в примере ниже:

Возможно, вы думали, что знаете, как нужно писать модули для Drupal 8? Думали вы, или нет, но вы только что создали модуль с помощью Drupal Console, написав всего лишь одну команду. Это круто, но модулю не хватает своего контроллера. А модуль без контроллера в Drupal 8, это все равно что модуль без hook_menu(), для Drupal 7, так что давайте пойдем дальше и заставим наш модуль что-нибудь делать. Воспользуемся возможностями Drupal Console снова:

Генерация контроллера прошла успешно. Давайте посмотрим, что он сгенерировал для нас:

Откройте файл HelloController.php в вашем любимом редакторе, и замените то что передается в функцию t(), на то что показано в примере ниже:

Это уже похоже на правильный HelloWord модуль. Давайте включим его с помощью Drush:

Несколько шагов назад, мы с вами остановили веб-сервер, для того чтобы работать с Drupal Console, теперь нам нужно его включить. Воспользуемся командой runserver (rs). После того как сервер запустится, снова откроется браузер и перейдет на страницу которую мы укажем при запуске:

Drupal 8 — это не сложно, если использовать правильные инструменты.

Комментарии

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