Moduli personalizzati Drupal 8 – Creazione di moduli Drupal 8 efficienti con queste best practice

Pubblicato: 2020-03-17

I moduli personalizzati di Drupal 8 possono variare da super semplici a molto complessi, a seconda della necessità di personalizzazione. Il vero potere di Drupal può essere sbloccato con moduli personalizzati in Drupal 8. Indipendentemente dalla complessità di un modulo personalizzato, seguire alcune best practice può aiutarti a creare moduli personalizzati più efficienti. Quindi iniziamo!

Recentemente, stavo cercando un modulo in Drupal e qualcosa mi è passato per la mente. Nel mondo di Drupal, quando cerchi soluzioni o prendi in considerazione soluzioni, la prima cosa che potresti sentire è "c'è un modulo per questo!". Sebbene ci siano quasi 70 moduli principali in Drupal, sono i moduli aggiuntivi creati dalla comunità Drupal che estendono le funzionalità della piattaforma. E con Drupal 8, c'è un'architettura completamente diversa e un approccio modernizzato verso CMS, con uno spostamento verso l'orientamento agli oggetti per migliorare l'efficienza complessiva e la qualità del software. La creazione di un modulo personalizzato Drupal 8 per estendere ulteriormente le capacità di Drupal non è la stessa di Drupal 7.

drupal 8 moduli personalizzati

Che cos'è un modulo personalizzato in Drupal 8? Perché crearne uno?

Un modulo personalizzato Drupal 8 è fondamentalmente un modulo composto da funzionalità personalizzate. Il modulo personalizzato Drupal potrebbe iniziare con un modulo contribuito che necessita di piccole personalizzazioni o un modulo Drupal 8 completamente nuovo con nuovi set di funzionalità inesistenti adattate al progetto. O a volte, una migrazione da Drupal 7 a Drupal 8 richiederà un modulo personalizzato perché il modulo Drupal 7 non è disponibile in Drupal 8. Un modulo personalizzato Drupal 8 è essenzialmente costruito per estendere le funzionalità principali di Drupal, che di per sé viene con set integrato di moduli principali.

Indipendentemente da come sia stata la tua esperienza con le versioni precedenti di Drupal, lo sviluppo dei moduli in Drupal 8 presenta una serie di sfide. Per darti un'idea, ci sono alcune differenze tra Drupal 7 e Drupal 8, le principali sono che Drupal 8 richiede l'ultima versione di PHP 7 per funzionare e utilizza Symphony, un framework PHP che si basa sulla programmazione orientata agli oggetti. Tuttavia, il nuovo approccio di Drupal 8 è un approccio futuristico e ha aperto le porte a un gruppo più ampio di sviluppatori che conoscono bene i concetti OOP e MVC.

Inoltre, ci sono cambiamenti nel modo in cui un modulo è costruito e ci sono alcune best practice per stare al passo con gli standard della comunità. Parliamo di più su questo.

Modifica nella struttura del file Drupal 8

Un punto importante da ricordare è che nello sviluppo dei moduli di Drupal 8 la struttura dei file è molto diversa da quella di Drupal 7. I moduli personalizzati in Drupal 8 sono memorizzati nella directory /modules , a differenza di Drupal 7 dove questa directory era riservata al core moduli. I moduli principali di Drupal 8 ora vanno nella directory /core .
Successivamente, per far sapere a Drupal 8 che il tuo modulo personalizzato esiste, devi creare un file .info.yml che fornisce i metadati. Questo processo è simile a quello utilizzato per Drupal 7.

name - Questa chiave serve a fornire un nome per il tuo modulo personalizzato.
type - Questa chiave definisce il tipo di estensione (modulo/tema/profilo).
descrizione - Questo tasto fornisce la descrizione dettagliata del modulo personalizzato (visualizzato nella pagina dell'elenco dei moduli).
pacchetto - Questa chiave specifica il pacchetto in cui dovrebbe essere incluso il modulo.
version - Specifica la versione del modulo.

Se il tuo file assomiglia a " blogexmple_module.info.yml ", la sintassi sarà la seguente:
nome - modulo blogexmple
tipo – modulo
descrizione - Un semplice modulo demo
pacchetto – Personalizzato
versione - 1.0
nucleo - 8.x

Utilizzo della configurazione prima del codice

Dover riscrivere il codice ogni volta che si apportano modifiche è piuttosto un compito. Invece di codificare una classe in un tema, imposta i valori nella configurazione e applicalo con il codice. Ciò garantisce modi facili e veloci di codificare e si traduce in moduli di alta qualità. Poiché i codici riutilizzabili sono la norma nella scrittura di software di qualità, le configurazioni nel codice garantiscono funzionalità avanzate e caratteristiche "facili da modificare".

Usa ciò che offre Drupal

Una volta creato il modulo, dovresti sapere che Drupal è dotato di varie funzionalità di amministrazione integrate per archiviare e visualizzare i dati e le impostazioni del modulo. La pagina delle impostazioni del modulo può essere definita con il menu hook . Questo hook consente ai moduli di registrare percorsi per definire come vengono gestite le richieste URL. Con l'utilizzo del callback della pagina drupal_get_form , tutto ciò che devi fare nella funzione di callback è definire e restituire le impostazioni che devono essere archiviate.

Troppi cuochi rovinano il brodo

Avendo lavorato a lungo su siti Drupal su larga scala, gli sviluppatori di Drupal avrebbero imparato che centinaia di moduli possono lavorare insieme la loro magia per produrre un progetto efficace su larga scala. Ma quando si lavora su siti Web aziendali Drupal, è importante notare che evitare un singolo modulo scadente ha effetti maggiori rispetto a evitare 30 moduli Drupal ben sviluppati (nel tentativo di utilizzare moduli meno). Gli sviluppatori tendono quindi a preferire la programmazione dei propri moduli rispetto al riutilizzo dei moduli esistenti. Maggiore è il numero di moduli personalizzati che scrivi per un progetto, maggiore sarà il lavoro necessario per mantenere e modificare il tuo sito Drupal in un secondo momento. Invece, considera di pubblicare i tuoi moduli su Github. Ciò consente di evitare l'utilizzo di un'ampia raccolta di moduli personalizzati e incoraggia invece a creare codice riutilizzabile con la configurazione richiesta.

Ambiente e standard di codifica

L'ambiente di sviluppo è un'influenza importante in quanto garantisce che un progetto Drupal venga eseguito senza problemi. Le società di sviluppo Drupal assicurano che l'intero team lavori nello stesso identico ambiente di sviluppo per un flusso di lavoro efficiente.

Mentre si lavora in un ambiente del genere, uno dei problemi più grandi da gestire è assicurarsi che il codice sia pulito e gestibile. Gli sviluppatori Drupal devono assicurarsi che il loro codice sia leggibile e abbia senso per tutti coloro con cui stanno lavorando. E questo non vale solo per i membri del team o per chiunque faccia parte della tua organizzazione, ma anche per la stessa comunità più ampia di Drupal. Poiché il coinvolgimento della comunità è una parte essenziale dello sviluppo di Drupal e un aspetto chiave nei team distribuiti che lavorano insieme in modo efficiente, seguire gli standard di codifica aiuta a raggiungere gli obiettivi e gli obiettivi di un progetto.