Module personalizate Drupal 8 – Crearea de module Drupal 8 eficiente cu aceste bune practici

Publicat: 2020-03-17

Modulele personalizate Drupal 8 pot varia de la a fi super simple la extrem de complexe, în funcție de necesitatea personalizării. Adevărata putere a Drupal poate fi deblocată cu module personalizate în Drupal 8. Indiferent de complexitatea unui modul personalizat, respectarea unor bune practici vă poate ajuta să creați module personalizate mai eficiente. Asadar, haideti sa începem!

Recent, căutam un modul în Drupal și tocmai mi-a trecut ceva prin minte. În lumea Drupal, când te uiți sau te gândești la soluții, primul lucru pe care l-ai putea auzi este „există un modul pentru asta!”. Deși există aproape 70 de module de bază în Drupal, modulele suplimentare contribuite construite de comunitatea Drupal sunt cele care extind funcționalitatea platformei. Și cu Drupal 8, există o arhitectură complet diferită și o abordare modernizată față de CMS, cu o schimbare către orientarea obiectelor pentru a îmbunătăți eficiența generală și calitatea software-ului. Crearea unui modul personalizat Drupal 8 pentru a extinde și mai mult capacitățile Drupal nu este aceeași ca și în Drupal 7.

drupal 8 module personalizate

Ce este un modul personalizat în Drupal 8? De ce să creați unul?

Un modul personalizat Drupal 8 este practic un modul care este alcătuit din funcționalități personalizate. Modulul personalizat Drupal ar putea începe cu un modul contribuit care necesită personalizări mici sau un modul Drupal 8 complet nou, cu seturi noi de funcționalități inexistente, personalizate pentru proiect. Sau uneori, o migrare de la Drupal 7 la Drupal 8 va necesita un modul personalizat, deoarece modulul Drupal 7 nu este disponibil în Drupal 8. Un modul personalizat Drupal 8 este construit în esență pentru a extinde funcționalitatea de bază a Drupal, care vine în sine. cu set încorporat de module de bază.

Indiferent de cum a fost experiența dumneavoastră cu versiunile anterioare de Drupal, dezvoltarea de module în Drupal 8 are propriul set de provocări. Pentru a vă face o idee corectă, există câteva diferențe între Drupal 7 și Drupal 8, principalele fiind că Drupal 8 necesită cea mai recentă versiune a PHP 7 pentru a rula și folosește Symphony, un framework PHP care se bazează pe Programarea Orientată pe Obiect. Cu toate acestea, noua abordare a lui Drupal 8 este o abordare futuristă și a deschis porțile unui set mai larg de dezvoltatori care sunt bine familiarizați cu conceptele OOP și MVC.

De asemenea, există modificări în modul în care este construit un modul și există anumite bune practici pentru a ține pasul cu standardele comunității. Să vorbim mai multe despre asta.

Modificare în structura fișierelor Drupal 8

Un punct important de reținut este că în dezvoltarea modulelor Drupal 8 structura fișierelor este destul de diferită de cea din Drupal 7. Modulele personalizate din Drupal 8 sunt stocate în directorul /modules , spre deosebire de Drupal 7 unde acest director a fost rezervat pentru nucleu. module. Modulele de bază Drupal 8 intră acum în directorul /core .
În continuare, pentru a informa Drupal 8 că există modulul personalizat, trebuie să creați un fișier .info.yml care furnizează metadatele. Acest proces este similar cu cel utilizat pentru Drupal 7.

nume - Această cheie este pentru a furniza un nume pentru modulul personalizat.
tip - Această tastă definește tipul extensiei (modul/temă/profil).
descriere - Această cheie oferă descrierea detaliată despre modulul personalizat (afișat pe pagina cu lista de module).
pachet - Această cheie specifică pachetul în care trebuie inclus modulul.
versiune - Specifică versiunea modulului.

Dacă fișierul dvs. arată ceva de genul „ blogexmple_module.info.yml ”, sintaxa va fi următoarea:
nume - blogexmple Modulul
tip – modul
descriere - Un modul demonstrativ simplu
pachet – Personalizat
versiunea - 1.0
miez - 8.x

Utilizarea Configurației înainte de cod

Trebuie să rescrieți codul de fiecare dată când faceți modificări este o sarcină destul de mare. În loc să codificați o clasă într-o temă, setați valorile în configurație și aplicați-o împreună cu codul. Acest lucru asigură modalități ușoare și mai rapide de codificare și are ca rezultat module de înaltă calitate. Codurile reutilizabile fiind norma în scrierea unui software de calitate, configurațiile din cod asigură funcționalitate avansată și caracteristici „ușor de modificat”.

Utilizați ceea ce oferă Drupal

Odată ce ați construit modulul, ar trebui să știți că Drupal vine cu diverse funcționalități de administrare încorporate pentru a stoca și afișa datele și setările modulului. Pagina de setări a modulului poate fi definită cu meniul de cârlig . Acest cârlig permite modulelor să înregistreze căi pentru a defini modul în care sunt gestionate solicitările URL. Cu utilizarea apelului invers al paginii drupal_get_form , tot ce trebuie să faceți în funcția de apel invers este să definiți și să returnați setările care urmează să fie stocate.

Prea mulți bucătari strică bulionul

După ce au lucrat mult timp pe site-uri Drupal la scară largă, dezvoltatorii Drupal ar fi învățat că sute de module își pot lucra împreună pentru a produce un proiect eficient la scară largă. Dar atunci când lucrați pe site-uri web Drupal pentru întreprinderi, este important să rețineți că evitarea unui singur modul slab are efecte mai mari decât evitarea a 30 de module Drupal bine dezvoltate (în încercarea de a utiliza module mai mici). Dezvoltatorii tind apoi să favorizeze programarea propriilor module față de reutilizarea modulelor existente. Cu cât este mai mare numărul de module personalizate pe care le scrieți pentru un proiect, cu atât este nevoie de mai multă muncă pentru a vă menține și modifica site-ul Drupal mai târziu. În schimb, luați în considerare publicarea modulelor dvs. pe Github. Acest lucru vă permite să evitați utilizarea unei colecții mari de module personalizate și, în schimb, vă încurajează să creați cod reutilizabil care are configurația necesară.

Mediu și standarde de codare

Mediul de dezvoltare este o influență importantă, deoarece asigură că un proiect Drupal rulează fără probleme. Companiile de dezvoltare Drupal se asigură că întreaga echipă lucrează în exact același mediu de dezvoltare pentru un flux de lucru eficient.

În timp ce lucrați într-un astfel de mediu, una dintre cele mai mari probleme de rezolvat este să vă asigurați că codul este curat și ușor de întreținut. Dezvoltatorii Drupal trebuie să se asigure că codul lor este lizibil și are sens pentru toți cei cu care lucrează. Și acest lucru nu se aplică doar membrilor echipei sau oricui din organizația dvs., ci și comunității mai mari Drupal în sine. Implicarea comunității fiind o parte esențială a dezvoltării Drupal și un aspect cheie în echipele distribuite care lucrează împreună eficient, respectarea standardelor de codificare ajută la atingerea scopurilor și obiectivelor unui proiect.