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.
Objectifs
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”
À qui s’adresse cette formation ?
Public :
Ce cours Drupal Développement Avancé cible principalement les développeurs Web souhaitant exploiter Drupal 8 & 9 et comprendre l’intégration de Symfony.
Prérequis :
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é.
Contenu du cours Drupal Développement Avancé
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)