أهداف الدورة التكوينية
Objectifs opérationnels :
Comprendre les grands principes de développement Back-end.
Avoir une vue d’ensemble de l’architecture de Drupal 8.
Savoir piloter une équipe de développeurs.
Objectifs pédagogiques :
Concrètement, à l’issue de cette formation Drupal Développement Avancé, vous serez en mesure de :
- Comprendre les fondements de Drupal 8 au travers de Symfony
- Comprendre l’injection de dépendance dans Drupal 8
- Savoir utiliser l’Event Dispatcher
- Créer son propre type de plugin
- Créer un type d’entité de contenu “maison”
لمن تتوجه هذه الدورة؟
Ce cours Drupal Développement Avancé cible principalement les développeurs Web souhaitant exploiter Drupal 8 & 9 et comprendre l’intégration de Symfony.
المتطلبات المسبقة
Pour suivre cette formation Drupal Développement Avancé, il est indispensable de connaître le PHP Objet, Drupal 8 en tant que développeur (routing, Form API, Database API…) et d’avoir les bases du développement de module pour Drupal 8. Connaître HTML et CSS est également fortement recommandé.
البرنامج
Injection de dépendances
- Comprendre les principes de l’injection de dépendance Quels sont les différents types d’injection ? Comment l’injection de dépendance est implémentée dans Symfony
Le container de Symfony
- Comprendre à quoi sert le Container Quels sont les principaux services de Drupal 8 ? Comment déclarer un nouveau service ? Comment remplacer un service de Drupal 8 ? Exemple de service simple à trouver Concepts hérités de Symfony 2 : le container, les services…
Event Dispatcher
- Découvrir les patrons de conception « Observateur » et « Médiateur » Savoir découpler son code avec le gestionnaire d’événements Connaître les événements principaux du framework Symfony Connecter des écouteurs à des événements du noyau de Symfony et Drupal Propager des événements personnalisés dans du code métier Créer de nouveaux types d’événements Enregistrer des « écouteurs » et « abonnés » d’événements
Créer son propre type d’entité de contenu
- Déclarer une classe (extension de la classe ContentEntityBase()) Ajouter le routing de base pour la gestion de son type d’entité Déclarer une interface (ContentEntityInterface()) Déclarer le schema correspondant Ajouter les contrôleurs et formulaires nécessaires
Enrichir un type d’entité de contenu
- Ajouter des configuration à un module Ajouter ses propres tables en base Exposer ses propres tables au module Views
Le pattern event dispatcher dans Drupal 8 & 9
- Comment implémenter un event subscriber avec Drupal 8/9 ? Intercepter l’événement Kernel request Détecter une route et l’utilisateur connecté
Gestion des plugins
- Utiliser le plugin Condition API : ajout d’une condition de visibilité sur les blocs Comprendre le fonctionnement de Mail API Créer un lien via une classe PHP Ajouter un plugin derivative pour les blocs
Créer son propre style de plugin
- Déclaration du gestionnaire de plugin (service) Utilisation de la class DefaultPluginManager() Choix de la méthode de découverte (annotation PHP)
Description de la formation Drupal Développement Avancé
Drupal 8/9 repose en grande partie sur le framework Symfony. Sa maîtrise est un plus pour tout développeur Drupal 8/9 souhaitant aller plus loin.
Cette formation Drupal Développement Avancé vous permet de comprendre les mécanismes et architecture de Symfony et de voir leurs applications dans Drupal 8/9.
المواضيع: Drupal

