Accelerarea dezvoltării Drupal cu consola Drupal și Drush
Publicat: 2022-02-22Am scris pe larg (ne interesează aceste lucruri) despre modul în care Drupal 8 nu doar a modernizat experiențele digitale pentru utilizator, ci și a ușurat munca de dezvoltare pentru dezvoltatorii Drupal. În acest articol, vom discuta două astfel de instrumente utilitare Drupal 8/9 care au simplificat și îmbunătățit masiv modul în care lucrați cu codul, modulele și instalările Drupal - Consola Drupal și Drush.

Ce este Drupal Console
De la dezvoltarea Drupal 8, a devenit necesar să adăugați o mulțime de coduri standard pentru a construi un nou modul. Desigur, puteți pur și simplu să copiați și să lipiți codul, dar acest lucru în mod repetat ar putea deschide ușile la o mulțime de erori. E bine. Suntem oameni. Din fericire, avem consola Drupal - o suită de instrumente pe care o rulați pe un CLI (Command Line Interface) care vă permite să generați automat codul standard. Utilizează Consola Symfony și alte componente terțe pentru a genera majoritatea codului necesar pentru a construi un modul Drupal 8/9.
Ce este Drush
Drush (Drupal + Shell) este instrumentul CLI original pentru Drupal. Vă permite să creați cu ușurință noi site-uri web Drupal și vă ajută să simplificați activitățile administrative și de dezvoltare. Drush vine livrat cu multe comenzi ușor de implementat care vă permit să interacționați cu instalațiile, temele, modulele și multe altele Drupal. Unele dintre celelalte sarcini pe care le puteți efectua cu Drush sunt exportarea/importarea configurațiilor, stocarea în cache, actualizarea modulelor contrib, actualizarea bazei de date și multe altele.
Drush funcționează bine cu Drupal 6/7/8/9 și oferă avantajele practicilor moderne de dezvoltare. Ajută la economisirea timpului de dezvoltare, atât în timpul migrării modulelor Drupal existente, cât și în timp ce creează altele noi, crescând astfel productivitatea. Aflați cum să vă creați propriile comenzi Drush personalizate în acest articol.
Instalarea consolei Drupal
Consola Drupal poate fi instalată prin diferite metode, cum ar fi compozitor, curl, phar etc. Iată un exemplu de instalare folosind compozitor:
Instalați la nivel global prin compozitor
composer global require drupal/console
Instalare specifică site-ului
1. Navigați la site-ul Drupal în CLI:
cd /path/to/drupal_site
2. Executați comanda compozitor necesită:
composer require drupal/console:~1.0 --prefer-dist --optimize-autoloader
Instalarea Drush
Drush poate fi instalat prin diverse metode precum compozitor, curl sau phar. Iată un exemplu de instalare folosind compozitor:
Instalați la nivel global prin compozitor
composer global require drush/drush
Instalare specifică site-ului
1. Navigați la site-ul Drupal în CLI:
cd /path/to/drupal_site
2. Executați comanda compozitor necesită:
composer require drush/drush
Comenzile și utilizarea consolei Drupal
Consultați unele dintre cele mai populare și utile comenzi ale consolei Drupal și când pot fi utilizate.
Comanda de depanare Drupal
- Pentru a identifica punctele de întrerupere în timp ce lucrați la teme:
drupal debug:breakpoints {theme_name}
Exemplu: drupal debug:breakpoints bartik
- Pentru a găsi cu ușurință clasa și numele serviciului atunci când lucrați cu servicii:
drupal debug:config:settings
- Pentru a identifica punctul de eșec atunci când aveți blocuri dureroase rupte:
drupal debug:plugin block broken
Generați module personalizate
Creați module personalizate într-un minut folosind această comandă:
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
Generați formular personalizat
Cerințele de formulare personalizate sunt foarte comune în cadrul proiectelor. Crearea cu ușurință a formularelor personalizate cu această comandă:
drupal generate:form \ --module="modulename" \ --class="DefaultForm" \ --form- \ --config-file \ --path="/modulename/form/default"
Generați formularul de configurare
La fel ca și formularele personalizate, avem nevoie și de formulare configurate de administrator. Cu această comandă le puteți crea cu ușurință:
drupal generate:form:config \ --module="modulename" \ --class="DefaultForm" \ --form- \ --config-file \ --path="/modulename/form/default"
Generați controler
Cu formulare personalizate veți avea nevoie de controlere. Puteți crea cu ușurință controlere personalizate cu această comandă:

drupal generate:controller \ --module="modulename" \ --class="DefaultController" \ --routes='"title":"ControllerMethod", "name":"modulename.default_controller_hello", "method":"hello", "path":"/modulename/hello/{name}"' \ --test
Generați o entitate personalizată
Crearea unei entități personalizate nu trebuie să consume timp, cu această comandă o puteți crea rapid și ușor:
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
Generați serviciu personalizat
Această comandă vă ajută să creați servicii personalizate:
drupal generate:service \ --module="modulename" \ --name="modulename.default" \ --class="DefaultService" \ --interface \ --interface-name="InterfaceName" \ --path-service="/modules/custom/modulename/src/"
Creați conținut ca user:create
Pentru a crea un utilizator din back-end, nu trebuie să deschideți browserul și să vă autentificați cu admin și apoi să creați un cont. Pur și simplu utilizați această comandă pentru a crea un utilizator într-o clipă:
drupal user:create username password \ --roles='authenticated' \ --email="[email protected]" \ --status="1"
Generați plugin ca bloc
Consola Drupal este, de asemenea, capabilă să genereze multe plugin-uri, cum ar fi blocuri. Iată un exemplu de creare a unui bloc personalizat:
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":""'
Pentru mai multe comenzi din consola Drupal și utilizare, verificați aceste comenzi disponibile.
Cele mai populare comenzi Drush
drush cr | Pentru a reconstrui memoria cache Drupal |
drush cim | Pentru a importa toate fișierele de configurare |
drush cex | Pentru a exporta fișierele de configurare |
drush uli | Pentru a vă autentifica folosind adresa URL de conectare unică |
drush en {module_name} | Activează orice modul fie personalizat, fie contrib, fie de bază |
drush pmu {module_name} | Dezactivează și dezinstalează orice modul |
drush pm:list | Listează toate modulele cu pachetul, numele modulului, versiunea și starea |
drush updb | Pentru a actualiza baza de date după actualizare |
drush watchdog:list(ws) | Listează toate mesajele watchdog |
drush watchdog: coada (greutate) | Mesaje continue de supraveghere |
drush watchdog:tail --type=php | Mesaje de supraveghere cu coadă continuă cu un anumit tip de severitate |
Câteva mai multe comenzi Drush cool
starea drush | Oferă o privire de ansamblu asupra instalării curente Drupal |
drush genera | La fel ca și consola Drupal, comanda drush generate ajută la generarea de entități, pluginuri și multe altele |
drush pm:securitate | Pentru a verifica pachetul de compoziție Drupal pentru actualizări de securitate |
drush migrate:status | Listează toate migrațiile cu starea curentă |
drush user:parolă {nume utilizator} {parolă} | Setează parola utilizatorului |
utilizator drush:bloc | Ajută la blocarea utilizatorului |
drush user:role:add | Ajută la adăugarea rolurilor de utilizator |
drush sql-dump | Exportă baza de date Drupal ca SQL folosind mysqldump sau echivalent. |