Accelerare lo sviluppo di Drupal con Drupal Console e Drush
Pubblicato: 2022-02-22Abbiamo scritto ampiamente (ci stiamo occupando di questa roba) su come Drupal 8 non ha solo modernizzato le esperienze digitali per l'utente, ma ha anche semplificato il lavoro di sviluppo per gli sviluppatori Drupal. In questo articolo discuteremo di due strumenti di utilità di Drupal 8/9 che hanno notevolmente semplificato e migliorato il modo in cui lavori con il codice, i moduli e le installazioni Drupal: Drupal Console e Drush.
Cos'è Drupal Console
Dall'avanzamento di Drupal 8, è diventato necessario aggiungere molto codice standard per costruire un nuovo modulo. Naturalmente, puoi semplicemente copiare e incollare il codice, ma farlo ripetutamente potrebbe aprire le porte a molti errori. Va bene. Siamo umani. Fortunatamente, abbiamo la console Drupal, una suite di strumenti che esegui su una CLI (Command Line Interface) che ti consente di generare automaticamente codice standard. Sfrutta Symfony Console e altri componenti di terze parti per generare la maggior parte del codice necessario per costruire un modulo Drupal 8/9.
Cos'è Drush
Drush (Drupal + Shell) è lo strumento CLI originale per Drupal. Ti consente di creare facilmente nuovi siti Web Drupal e ti aiuta a semplificare lo sviluppo e le attività amministrative. Drush viene fornito con molti comandi facili da implementare che ti consentono di interagire con le tue installazioni, temi, moduli e altro di Drupal. Alcune delle altre attività che puoi eseguire con Drush sono l'esportazione/importazione di configurazioni, la memorizzazione nella cache, l'aggiornamento dei moduli contrib, l'aggiornamento del database e molto altro.
Drush funziona bene con Drupal 6/7/8/9 e offre i vantaggi delle moderne pratiche di sviluppo. Aiuta a risparmiare tempo di sviluppo, sia durante la migrazione dei moduli Drupal esistenti sia durante la creazione di nuovi, aumentando così la produttività. Scopri come creare i tuoi comandi Drush personalizzati in questo articolo.
Installazione della console Drupal
La console Drupal può essere installata attraverso vari metodi come composer, curl, phar ecc. Ecco un esempio di installazione utilizzando composer:
Installa a livello globale tramite il compositore
composer global require drupal/console
Installazione specifica del sito
1. Passare al sito Drupal nella CLI:
cd /path/to/drupal_site
2. Esegui il compositore richiede il comando:
composer require drupal/console:~1.0 --prefer-dist --optimize-autoloader
Installazione di Drush
Drush può essere installato con vari metodi, come compositore, curl o phar. Ecco un esempio di installazione utilizzando il compositore:
Installa a livello globale tramite il compositore
composer global require drush/drush
Installazione specifica del sito
1. Passare al sito Drupal nella CLI:
cd /path/to/drupal_site
2. Esegui il compositore richiede il comando:
composer require drush/drush
Comandi e utilizzo della console Drupal
Scopri alcuni dei comandi di Drupal Console più popolari e utili e quando possono essere utilizzati.
Comando di debug di Drupal
- Per identificare i punti di interruzione mentre si lavora sui temi:
drupal debug:breakpoints {theme_name}
Esempio: drupal debug:breakpoints bartik
- Per trovare facilmente la classe e il nome del servizio quando si lavora con i servizi:
drupal debug:config:settings
- Per identificare il punto di errore quando hai blocchi rotti dolorosi:
drupal debug:plugin block broken
Genera moduli personalizzati
Crea moduli personalizzati in un minuto usando questo comando:
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 modulo personalizzato
I requisiti dei moduli personalizzati sono molto comuni tra i progetti. Creazione di moduli personalizzati facilmente con questo comando:
drupal generate:form \ --module="modulename" \ --class="DefaultForm" \ --form- \ --config-file \ --path="/modulename/form/default"
Genera modulo di configurazione
Come per i moduli personalizzati, richiediamo anche moduli configurati dall'amministratore. Con questo comando puoi crearli facilmente:
drupal generate:form:config \ --module="modulename" \ --class="DefaultForm" \ --form- \ --config-file \ --path="/modulename/form/default"
Genera controller
Con i moduli personalizzati avrai bisogno di controller. Puoi facilmente creare controller personalizzati con questo comando:
drupal generate:controller \ --module="modulename" \ --class="DefaultController" \ --routes='"title":"ControllerMethod", "name":"modulename.default_controller_hello", "method":"hello", "path":"/modulename/hello/{name}"' \ --test
Genera entità personalizzata
La creazione di un'entità personalizzata non deve richiedere molto tempo, con questo comando puoi crearla in modo rapido e semplice:
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 servizio personalizzato
Questo comando ti aiuta a creare servizi personalizzati:
drupal generate:service \ --module="modulename" \ --name="modulename.default" \ --class="DefaultService" \ --interface \ --interface-name="InterfaceName" \ --path-service="/modules/custom/modulename/src/"
Crea contenuto come utente:crea
Per creare un utente dal back-end non è necessario aprire il browser e accedere con admin e quindi creare un account. Usa semplicemente questo comando per creare un utente in un batter d'occhio:
drupal user:create username password \ --roles='authenticated' \ --email="[email protected]" \ --status="1"
Genera Plugin come un blocco
Drupal Console è anche in grado di generare molti plugin come i blocchi. Ecco un esempio di creazione di un blocco personalizzato:
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":""'
Per ulteriori comandi e utilizzo della console Drupal, controlla questi Comandi disponibili.
Comandi Drush più popolari
cr | Per ricostruire la cache di Drupal |
pennello cim | Per importare tutti i file di configurazione |
drush cex | Per esportare i file di configurazione |
drush uli | Per accedere utilizzando l'URL di accesso una tantum |
drush en {nome_modulo} | Abilita qualsiasi modulo personalizzato o contrib o core |
drush pmu {nome_modulo} | Disabilita e disinstalla qualsiasi modulo |
drush pm: elenco | Elenca tutti i moduli con il pacchetto, il nome del modulo, la versione e lo stato |
drush updb | Per aggiornare il database dopo l'aggiornamento |
drush watchdog:list(ws) | Elenca tutti i messaggi di watchdog |
cane da guardia drush: coda (wt) | Messaggi continui del watchdog della coda |
drush watchdog:tail --type=php | Messaggi di watchdog di coda continui con tipo di gravità particolare |
Alcuni altri fantastici comandi di Drush
stato della spazzola | Fornisce una panoramica dell'installazione Drupal corrente |
generazione di drush | Come per Drupal Console, il comando drush generate aiuta a generare entità, plugin e altro |
pioggia pm: sicurezza | Per controllare il pacchetto del compositore Drupal per gli aggiornamenti di sicurezza |
drush migra:stato | Elenca tutte le migrazioni con lo stato corrente |
utente drush:password {nomeutente} {password} | Imposta la password dell'utente |
utente drush:blocco | Aiuta a bloccare l'utente |
utente drush:ruolo:aggiungi | Aiuta ad aggiungere ruoli utente |
drush sql-dump | Esporta il database Drupal come SQL usando mysqldump o equivalente. |