Accelerarea dezvoltării Drupal cu consola Drupal și Drush

Publicat: 2022-02-22

Am 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.

Consola Drupal

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.