Développement de modules personnalisés : arrière-plan et prérequis

Vous pouvez créer des modules personnalisés dans le portail de développeur pour étendre les fonctionnalités. Les informations suivantes concernent l'initiation au développement de modules personnalisés.

Les modules personnalisés sont écrits en PHP, langage de script côté serveur open source utilisé pour créer des pages Web dynamiques. Pour des informations générales sur les outils Drupal pour le développement PHP, voir Custom module development: an introduction to Drupal tools for PHP development.

Les sections suivantes présentent le développement de modules personnalisés, avec les liens pour en savoir plus sur les langages et concepts de développement requis. La création de modules personnalisés affecte la source de votre site Developer Portal . Il est donc recommandé d'acquérir une expérience Drupal et des connaissances en PHP avant de commencer à créer des modules.

Important :
  • Vous n'êtes pas autorisé à inclure des modules IBM® API Connect dans les modules personnalisés que vous créez. En outre, l'édition directe des thèmes API Connect , des modules, des modules inclus ou du coeur Drupal sur le système de fichiers n'est pas autorisée ou prise en charge, car les versions éditées de ces fichiers sont écrasées lors de l'installation d'un groupe de correctifs ou d'un iFix .
  • Tout développement personnalisé est de votre responsabilité. Bien que l'utilisation de modules et de thèmes personnalisés soit prise en charge, IBM API Connect ne prend pas en charge leur développement ou leur modification.

Programmation orientée objets (OOP)

La programmation orientée objets a été établie comme meilleure pratique en matière de développement, par conséquent, vous devez en avoir une bonne connaissance. La documentation PHP sur les Classes et objets est un bon point de départ. Pour une présentation générale des meilleures pratiques PHP, voir PHP The Right Way. Les ressources suivantes sont également utiles :
Drupal utilise également des modèles de conception communs, vous devez donc vous assurer que vous en avez une compréhension de base. Consultez les ressources de modèle suivantes :

Espaces de nom PHP

Vous devez bien connaître le concept d'espace de nom en PHP. Dans la plupart des cas, le code Drupal avec espace de nom est basé sur le module auquel le code appartient.

Par exemple, l'espace de nom pour block.module est :
namespace Drupal\block;

Lorsque vous créez des modules Drupal, assurez-vous que PHP possède un espace de nom global et que les noms de fonction sont uniques. Il est recommandé de préfixer le nom des méthodes avec le nom du module.

Par exemple, si un module s'appelle custom_module et qu'il contient la méthode create, celle-ci sera nommée custom_module_create().

Pour plus d'informations sur les espaces de nom, voir les ressources suivantes :

Injection de dépendance

Il est essentiel de comprendre les bases de l'injection de dépendance. Drupal utilise ce concept de manière intensive. Vous aurez donc besoin de cette compréhension pour pouvoir accéder à de nombreuses API de base et les utiliser.

Pour en savoir plus sur l'injection de dépendance, voir Dependency Injection (sur phptherightway.com), ainsi que les articles supplémentaires liés à cette page. Voir aussi Services et injection de dépendance dans Drupal (sur drupal.org).

Symfony

Symfony est un ensemble de composants PHP réutilisables et une infrastructure PHP pour des projets Web. Drupal puise dans cette infrastructure pour réduire la duplication de code entre différents projets PHP. Une grande partie du code utilisé par Drupal pour gérer le routage, les sessions et le conteneur de services, entre autres, est emprunté à Symfony.

Pour comprendre le fonctionnement de Symfony, consultez la documentation Symfony sur symfony.com.

Autres ressources utiles

  • Drupal API Annotations -liste des différents types d'annotation utilisés par Drupal pour la reconnaissance de plug-in et pour fournir des données contextuelles / métadonnées supplémentaires pour le code en cours d'exécution.
  • Présentation de l'API de plug-in : présentation de l'utilisation des plug-in dans Drupal.
  • Des outils sont disponibles pour vérifier vos modules personnalisés, tels que drupal_check sur GitHub, qui vérifie Drupal code pour les dépréciations.