Drupal 8 Custom Modules – Créer des modules Drupal 8 efficaces avec ces meilleures pratiques

Publié: 2020-03-17

Les modules personnalisés de Drupal 8 peuvent aller de très simples à très complexes, selon le besoin de personnalisation. La véritable puissance de Drupal peut être débloquée avec des modules personnalisés dans Drupal 8. Quelle que soit la complexité d'un module personnalisé, suivre certaines bonnes pratiques peut vous aider à créer des modules personnalisés plus efficaces. Alors, commençons!

Récemment, je cherchais un module dans Drupal et quelque chose m'a traversé l'esprit. Dans le monde de Drupal, lorsque vous recherchez ou envisagez des solutions, la première chose que vous pourriez entendre est « il existe un module pour cela ! ». Bien qu'il existe près de 70 modules de base dans Drupal, ce sont les modules supplémentaires créés par la communauté Drupal qui étendent les fonctionnalités de la plate-forme. Et avec Drupal 8, il existe une architecture complètement différente et une approche modernisée du CMS, avec une évolution vers l'orientation objet pour améliorer l'efficacité globale et la qualité du logiciel. La création d'un module personnalisé Drupal 8 pour étendre davantage les capacités de Drupal n'est pas la même que dans Drupal 7.

Drupal 8 modules personnalisés

Qu'est-ce qu'un module personnalisé dans Drupal 8 ? Pourquoi en créer un ?

Un module personnalisé Drupal 8 est essentiellement un module composé de fonctionnalités personnalisées. Le module personnalisé Drupal pourrait commencer avec un module de contribution qui nécessite de petites personnalisations ou un tout nouveau module Drupal 8 avec de nouveaux ensembles de fonctionnalités inexistantes adaptées au projet. Ou parfois, une migration de Drupal 7 vers Drupal 8 nécessitera un module personnalisé car le module Drupal 7 n'est pas disponible dans Drupal 8. Un module personnalisé Drupal 8 est essentiellement conçu pour étendre les fonctionnalités de base de Drupal, qui en soi vient avec un ensemble intégré de modules de base.

Quelle que soit votre expérience avec les versions précédentes de Drupal, le développement de modules dans Drupal 8 comporte son propre ensemble de défis. Pour vous donner une idée juste, il existe quelques différences entre Drupal 7 et Drupal 8, les principales étant que Drupal 8 nécessite la dernière version de PHP 7 pour fonctionner et qu'il utilise Symphony, un framework PHP qui repose sur la programmation orientée objet. Néanmoins, la nouvelle approche de Drupal 8 est une approche futuriste et a ouvert des portes à un ensemble plus large de développeurs qui connaissent bien les concepts POO et MVC.

De plus, il y a des changements dans la façon dont un module est construit et il existe certaines meilleures pratiques pour suivre les normes de la communauté. Parlons-en davantage à ce sujet.

Modification de la structure des fichiers Drupal 8

Un point important à retenir est que dans le développement de modules Drupal 8, la structure des fichiers est assez différente de celle de Drupal 7. Les modules personnalisés dans Drupal 8 sont stockés dans le répertoire /modules , contrairement à Drupal 7 où ce répertoire était réservé au noyau. modules. Les modules principaux de Drupal 8 vont maintenant dans le répertoire /core .
Ensuite, pour informer Drupal 8 que votre module personnalisé existe, vous devez créer un fichier .info.yml qui fournit les métadonnées. Ce processus est similaire à celui utilisé pour Drupal 7.

name - Cette clé sert à fournir un nom pour votre module personnalisé.
type - Cette clé définit le type de l'extension (module/thème/profil).
description - Cette clé fournit la description détaillée du module personnalisé (affichée sur la page de liste des modules).
package - Cette clé spécifie le package dans lequel le module doit être inclus.
version - Spécifie la version du module.

Si votre fichier ressemble à " blogexmple_module.info.yml ", la syntaxe sera la suivante-
nom - module blogexemple
type – module
description - Un module de démonstration simple
forfait – Personnalisé
version - 1.0
noyau - 8.x

Utilisation de la configuration avant le code

Devoir réécrire le code à chaque fois que vous apportez des modifications est une tâche ardue. Au lieu de coder en dur une classe dans un thème, définissez les valeurs dans la configuration et appliquez-les avec le code. Cela garantit des moyens faciles et plus rapides de coder et donne des modules de haute qualité. Les codes réutilisables étant la norme dans l'écriture de logiciels de qualité, les configurations dans le code garantissent des fonctionnalités avancées et des fonctionnalités « faciles à modifier ».

Utiliser les offres Drupal

Une fois que vous avez construit votre module, vous devez savoir que Drupal est livré avec diverses fonctionnalités d'administration intégrées pour stocker et afficher les données et les paramètres du module. La page des paramètres du module peut être définie avec le menu crochet . Ce hook permet aux modules d'enregistrer des chemins afin de définir comment les requêtes URL sont traitées. Avec l'utilisation du rappel de page drupal_get_form , tout ce que vous devez faire dans la fonction de rappel est de définir et de retourner les paramètres qui doivent être stockés.

Trop de cuisiniers gâtent la sauce

Ayant travaillé sur des sites Drupal à grande échelle pendant longtemps, les développeurs Drupal auraient appris que des centaines de modules peuvent travailler ensemble pour produire un projet à grande échelle efficace. Mais lorsque vous travaillez sur des sites Web d'entreprise Drupal, il est important de noter qu'éviter un seul module médiocre a plus d'effets que d'éviter 30 modules Drupal bien développés (dans le but d'utiliser des modules moins importants). Les développeurs ont alors tendance à privilégier la programmation de leurs propres modules plutôt que la réutilisation de modules existants. Plus le nombre de modules personnalisés que vous écrivez pour un projet est élevé, plus il faudra de travail pour maintenir et modifier votre site Drupal ultérieurement. Au lieu de cela, envisagez de publier vos modules sur Github. Cela vous permet d'éviter l'utilisation d'une grande collection de modules personnalisés et vous encourage à la place à créer du code réutilisable qui a la configuration requise.

Environnement et normes de codage

L'environnement de développement est une influence importante car il garantit qu'un projet Drupal s'exécute sans aucun problème. Les sociétés de développement Drupal s'assurent que toute l'équipe travaille exactement dans le même environnement de développement pour un flux de travail efficace.

En travaillant dans un tel environnement, l'un des plus gros problèmes à gérer est de s'assurer que le code est propre et maintenable. Les développeurs Drupal doivent s'assurer que leur code est lisible et logique pour tous ceux avec qui ils travaillent. Et cela ne s'applique pas seulement aux membres de l'équipe ou à toute personne de votre organisation, mais aussi à la communauté Drupal plus large elle-même. L'implication de la communauté étant une partie essentielle du développement Drupal et un aspect clé dans les équipes distribuées travaillant ensemble efficacement, le respect des normes de codage aide à atteindre les buts et objectifs d'un projet.