Przyspieszenie rozwoju Drupala z konsolą Drupal i Drush

Opublikowany: 2022-02-22

O tym, że Drupal 8 nie tylko unowocześnił cyfrowe doświadczenia dla użytkownika, ale także ułatwił pracę programistyczną deweloperom Drupala, pisaliśmy obszernie (jesteśmy w tym temacie). W tym artykule omówimy dwa takie narzędzia narzędziowe Drupal 8/9, które znacznie uprościły i usprawniły sposób pracy z kodem, modułami i instalacjami Drupala - Drupal Console i Drush.

Konsola Drupala

Co to jest konsola Drupal

Od czasu zaawansowania Drupala 8, konieczne stało się dodanie dużej ilości kodu, aby zbudować nowy moduł. Oczywiście możesz po prostu skopiować i wkleić kod, ale powtarzanie tego może otworzyć drzwi do wielu błędów. W porządku. Jesteśmy ludźmi. Na szczęście mamy konsolę Drupal - zestaw narzędzi uruchamianych na CLI (Command Line Interface), który pozwala automatycznie generować kod wzorcowy. Wykorzystuje konsolę Symfony i inne komponenty firm trzecich do generowania większości kodu potrzebnego do zbudowania modułu Drupal 8/9.

Co to jest Drush

Drush (Drupal + Shell) to oryginalne narzędzie CLI dla Drupala. Pozwala łatwo uruchamiać nowe serwisy Drupal oraz usprawnić zadania programistyczne i administracyjne. Drush jest dostarczany z wieloma łatwymi do zaimplementowania poleceniami, które umożliwiają interakcję z instalacjami Drupala, motywami, modułami i nie tylko. Niektóre z innych zadań, które możesz wykonać za pomocą Drush, to eksportowanie/importowanie konfiguracji, buforowanie, aktualizacja modułów contrib, aktualizacja bazy danych i wiele innych.

Drush dobrze współpracuje z Drupalem 6/7/8/9 i oferuje zalety nowoczesnych praktyk programistycznych. Pozwala zaoszczędzić czas rozwoju, zarówno podczas migracji istniejących modułów Drupala, jak i podczas tworzenia nowych, zwiększając tym samym produktywność. Dowiedz się, jak tworzyć własne niestandardowe polecenia Drush w tym artykule.

Instalowanie konsoli Drupala

Konsolę Drupal można zainstalować różnymi metodami, takimi jak kompozytor, curl, phar itp. Oto przykład instalacji za pomocą kompozytora:

Zainstaluj globalnie przez kompozytor

 composer global require drupal/console

Instalacja specyficzna dla miejsca

1. Przejdź do strony Drupal w CLI:

 cd /path/to/drupal_site

2. Uruchom kompozytora wymagaj polecenia:

 composer require drupal/console:~1.0 --prefer-dist --optimize-autoloader

Instalowanie Drusha

Drush można zainstalować różnymi metodami, takimi jak kompozytor, curl lub phar. Oto przykład instalacji za pomocą kompozytora:

Zainstaluj globalnie przez kompozytor

 composer global require drush/drush

Instalacja specyficzna dla miejsca

1. Przejdź do strony Drupal w CLI:

 cd /path/to/drupal_site

2. Uruchom kompozytora wymagaj polecenia:

 composer require drush/drush

Polecenia i użycie konsoli Drupal

Sprawdź niektóre z najpopularniejszych i najbardziej pomocnych poleceń konsoli Drupal i sprawdź, kiedy można z nich korzystać.

  • Polecenie debugowania Drupala

  • Aby zidentyfikować punkty przerwania podczas pracy nad motywami:
 drupal debug:breakpoints {theme_name}

Przykład: debugowanie drupala: punkty przerwania bartik

  • Aby łatwo znaleźć klasę i nazwę usługi podczas pracy z usługami:
 drupal debug:config:settings
  • Aby zidentyfikować punkt awarii, gdy masz bolesne złamane bloki:
 drupal debug:plugin block broken
  • Generuj niestandardowe moduły

Utwórz niestandardowe moduły w ciągu minuty za pomocą tego polecenia:

 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
  • Wygeneruj niestandardowy formularz

Wymagania dotyczące formularzy niestandardowych są bardzo powszechne we wszystkich projektach. Łatwe tworzenie niestandardowego formularza za pomocą tego polecenia:

 drupal generate:form \ --module="modulename" \ --class="DefaultForm" \ --form- \ --config-file \ --path="/modulename/form/default"
  • Wygeneruj formularz konfiguracji

Podobnie jak formularze niestandardowe, wymagamy również formularzy skonfigurowanych przez administratora. Za pomocą tego polecenia możesz je łatwo utworzyć:

 drupal generate:form:config \ --module="modulename" \ --class="DefaultForm" \ --form- \ --config-file \ --path="/modulename/form/default"
  • Wygeneruj kontroler

W przypadku niestandardowych formularzy będziesz potrzebować kontrolerów. Możesz łatwo tworzyć niestandardowe kontrolery za pomocą tego polecenia:

 drupal generate:controller \ --module="modulename" \ --class="DefaultController" \ --routes='"title":"ControllerMethod", "name":"modulename.default_controller_hello", "method":"hello", "path":"/modulename/hello/{name}"' \ --test
  • Wygeneruj jednostkę niestandardową

Tworzenie niestandardowej encji nie musi być czasochłonne, za pomocą tego polecenia możesz ją szybko i łatwo utworzyć:

 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
  • Wygeneruj usługę niestandardową

To polecenie pomaga tworzyć niestandardowe usługi:

 drupal generate:service \ --module="modulename" \ --name="modulename.default" \ --class="DefaultService" \ --interface \ --interface-name="InterfaceName" \ --path-service="/modules/custom/modulename/src/"
  • Utwórz zawartość, taką jak użytkownik:utwórz

Aby utworzyć użytkownika z zaplecza nie musisz otwierać przeglądarki i logować się z adminem, a następnie zakładać konto. Po prostu użyj tego polecenia, aby błyskawicznie utworzyć użytkownika:

 drupal user:create username password \ --roles='authenticated' \ --email="[email protected]" \ --status="1"
  • Generuj wtyczkę jak blok

Konsola Drupal jest również w stanie generować wiele wtyczek, takich jak bloki. Oto przykład tworzenia własnego bloku:

 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":""'

Więcej informacji o poleceniach konsoli Drupal i ich użyciu znajdziesz w sekcji Dostępne polecenia.

Najpopularniejsze polecenia Drush

drush Cr Aby odbudować pamięć podręczną Drupala
drush cim Aby zaimportować wszystkie pliki konfiguracyjne
drush cex Aby wyeksportować pliki konfiguracyjne
drusz uli Aby zalogować się za pomocą jednorazowego adresu URL logowania
dresz pl {nazwa_modułu} Włącza dowolny moduł niestandardowy, contrib lub core
drush pmu {nazwa_modułu} Wyłącza i odinstalowuje dowolny moduł
dresz pm: lista Wyświetla listę wszystkich modułów z pakietem, nazwą modułu, wersją i statusem
drush updb Aby zaktualizować bazę danych po aktualizacji
drush watchdog:lista(ws) Wyświetla listę wszystkich wiadomości watchdog
drush watchdog: ogon (masa) Ciągłe komunikaty nadzoru ogonowego
drush watchdog:tail --type=php Ciągłe wiadomości monitorujące ogon o określonym typie ważności

Jeszcze kilka fajnych poleceń Drush

stan drushu Zawiera przegląd aktualnej instalacji Drupala
generować drush Podobnie jak Drupal Console, polecenie drush generate pomaga generować encje, wtyczki i nie tylko
dresz pm: bezpieczeństwo Aby sprawdzić pakiet kompozytora Drupal pod kątem aktualizacji bezpieczeństwa
migracja drush:stan Wyświetla wszystkie migracje z aktualnym statusem
drush użytkownik:hasło {nazwa użytkownika} {hasło} Ustawia hasło użytkownika
użytkownik drush: blok Pomaga zablokować użytkownika
drrush użytkownik:rola:dodaj Pomaga dodawać role użytkowników
drush sql-dump Eksportuje bazę danych Drupal jako SQL przy użyciu mysqldump lub odpowiednika.