Drupal 8 Custom Modules – Tworzenie wydajnych modułów Drupal 8 z tymi najlepszymi praktykami
Opublikowany: 2020-03-17Niestandardowe moduły Drupal 8 mogą być bardzo proste lub bardzo złożone, w zależności od potrzeby dostosowania. Prawdziwą moc Drupala można odblokować dzięki niestandardowym modułom w Drupal 8. Niezależnie od złożoności niestandardowego modułu, przestrzeganie kilku najlepszych praktyk może pomóc w tworzeniu bardziej wydajnych niestandardowych modułów. Więc zacznijmy!
Ostatnio szukałem modułu w Drupalu i coś mi właśnie przyszło do głowy. W świecie Drupala, gdy szukasz lub rozważasz rozwiązania, pierwszą rzeczą, którą możesz usłyszeć, jest „jest na to moduł!”. Chociaż w Drupalu jest blisko 70 podstawowych modułów, to dodatkowe moduły stworzone przez społeczność Drupala rozszerzają funkcjonalność platformy. Drupal 8 to zupełnie inna architektura i unowocześnione podejście do CMS, z przesunięciem w stronę orientacji obiektowej w celu poprawy ogólnej wydajności i jakości oprogramowania. Tworzenie niestandardowego modułu Drupal 8 w celu dalszego rozszerzenia możliwości Drupala nie jest takie samo, jak w Drupal 7.

Czym jest niestandardowy moduł w Drupalu 8? Po co go tworzyć?
Niestandardowy moduł Drupal 8 to w zasadzie moduł, który składa się z niestandardowych funkcji. Niestandardowy moduł Drupal może zacząć się od dodanego modułu, który wymaga niewielkich dostosowań lub zupełnie nowego modułu Drupal 8 z nowymi zestawami nieistniejących funkcjonalności dostosowanych do projektu. Czasami migracja z Drupala 7 do Drupala 8 będzie wymagać niestandardowego modułu, ponieważ moduł Drupal 7 nie jest dostępny w Drupal 8. Niestandardowy moduł Drupal 8 jest zasadniczo zbudowany w celu rozszerzenia podstawowej funkcjonalności Drupala, który sam w sobie jest z wbudowanym zestawem modułów podstawowych.
Niezależnie od tego, jakie masz doświadczenia z poprzednimi wersjami Drupala, tworzenie modułów w Drupal 8 ma swój własny zestaw wyzwań. Aby dać ci uczciwy pomysł, istnieją pewne różnice między Drupalem 7 a Drupalem 8, z których najważniejszym jest to, że Drupal 8 wymaga do działania najnowszej wersji PHP 7 i używa Symphony, frameworka PHP, który opiera się na programowaniu zorientowanym obiektowo. Niemniej jednak nowe podejście Drupala 8 jest podejściem futurystycznym i otworzyło drzwi szerszemu gronu programistów, którzy dobrze znają koncepcje OOP i MVC.
Ponadto wprowadzono zmiany w sposobie budowania modułu i istnieją pewne najlepsze praktyki, aby nadążać za standardami społeczności. Porozmawiajmy o tym więcej.
Zmiana w strukturze plików Drupal 8
Ważnym punktem do zapamiętania jest to, że w przypadku tworzenia modułów Drupal 8 struktura plików jest zupełnie inna niż ta w Drupal 7. Niestandardowe moduły w Drupal 8 są przechowywane w katalogu /modules , w przeciwieństwie do Drupala 7, gdzie ten katalog był zarezerwowany dla jądra moduły. Podstawowe moduły Drupala 8 trafiają teraz do katalogu /core .
Następnie, aby Drupal 8 wiedział, że Twój niestandardowy moduł istnieje, musisz utworzyć plik .info.yml , który zawiera metadane. Ten proces jest podobny do tego używanego w Drupal 7.
name — ten klucz służy do podania nazwy modułu niestandardowego.
typ — ten klucz określa typ rozszerzenia (moduł/motyw/profil).
opis — ten klucz zawiera szczegółowy opis modułu niestandardowego (wyświetlany na stronie z listą modułów).
pakiet — ten klucz określa pakiet, w którym moduł powinien zostać dołączony.
wersja — określa wersję modułu.
Jeśli Twój plik wygląda mniej więcej tak: „ blogexmple_module.info.yml ”, składnia będzie następująca:
nazwa - blogexmple Moduł
typ – moduł
opis - Prosty moduł demonstracyjny
pakiet – Niestandardowy
wersja - 1.0
rdzeń - 8.x

Korzystanie z konfiguracji przed kodem
Konieczność przepisywania kodu za każdym razem, gdy wprowadzasz jakiekolwiek zmiany, jest nie lada zadaniem. Zamiast na stałe zakodować klasę w motywie, ustaw wartości w konfiguracji i zastosuj je z kodem. Zapewnia to łatwe i szybsze sposoby kodowania i zapewnia wysokiej jakości moduły. Ponieważ kody wielokrotnego użytku są normą w pisaniu wysokiej jakości oprogramowania, konfiguracje w kodzie zapewniają zaawansowaną funkcjonalność i „łatwe do modyfikacji” cechy.
Korzystaj z ofert Drupala
Po zbudowaniu modułu powinieneś wiedzieć, że Drupal ma różne wbudowane funkcje administracyjne do przechowywania i wyświetlania danych i ustawień modułu. Stronę ustawień modułu można zdefiniować za pomocą menu podręcznego . Ten zaczep umożliwia modułom rejestrowanie ścieżek w celu zdefiniowania sposobu obsługi żądań adresów URL. Korzystając ze strony wywołania zwrotnego drupal_get_form , wszystko, co musisz zrobić w funkcji zwrotnej, to zdefiniować i zwrócić ustawienia, które mają być przechowywane.
Zbyt wielu kucharzy popsuje rosół
Pracując przez długi czas nad witrynami Drupal na dużą skalę, programiści Drupal nauczyli się, że setki modułów mogą ze sobą współpracować, aby stworzyć efektywny projekt na dużą skalę. Jednak podczas pracy na korporacyjnych witrynach Drupal należy pamiętać, że unikanie pojedynczego słabego modułu ma większe efekty niż unikanie 30 dobrze opracowanych modułów Drupal (w celu użycia słabszych modułów). Deweloperzy mają tendencję do faworyzowania programowania własnych modułów nad ponownym wykorzystaniem istniejących modułów. Im większa liczba niestandardowych modułów napisanych dla projektu, tym więcej pracy zajmuje późniejsze utrzymanie i modyfikacja witryny Drupal. Zamiast tego rozważ opublikowanie swoich modułów na Github. Pozwala to uniknąć używania dużej kolekcji niestandardowych modułów, a zamiast tego zachęca do tworzenia kodu wielokrotnego użytku, który ma wymaganą konfigurację.
Środowisko i standardy kodowania
Środowisko programistyczne ma istotny wpływ, ponieważ zapewnia, że projekt Drupal działa bez żadnych problemów. Firmy programistyczne Drupal zapewniają, że cały zespół pracuje w dokładnie tym samym środowisku programistycznym, aby zapewnić wydajny przepływ pracy.
Pracując w takim środowisku, jednym z największych problemów do rozwiązania jest upewnienie się, że kod jest czysty i łatwy w utrzymaniu. Deweloperzy Drupala muszą upewnić się, że ich kod jest czytelny i ma sens dla wszystkich, z którymi pracują. I nie dotyczy to tylko członków zespołu czy kogokolwiek z Twojej organizacji, ale także samej większej społeczności Drupala. Ponieważ zaangażowanie społeczności jest istotną częścią rozwoju Drupala i kluczowym aspektem efektywnej współpracy rozproszonych zespołów, przestrzeganie standardów kodowania pomaga w osiąganiu celów i zadań projektu.
