CMS - Web
Drupal 8, développement avancé avec Symfony 2
Reference : CMSWEB03

3
jours - 1650 € HT Télécharger la fiche
Prochaines sessions

Objectifs
- Appréhender les rouages de Drupal 8 au travers du container Symfony 2,
- Maîtriser le concept de l’injection de dépendance Drupal 8
- Maîtiser l’utilisation de l’EventDispatcher
- Développer un plugin personnalisé
- Développer une entité de configuration personnalisée
Pré requis
- Connaître le PHP Objet (indispensable)
- Connaître Drupal 8 en tant que développeur (routing, Form API, Database API, création de modules…).
- Connaître HTML et CSS TYPE
Modalités et délais d’accès
Bulletin d'inscription à retourner complété
Public visé
Pré-inscription
Tout public
Programmes de Drupal 8, développement avancé avec Symfony 2
Injection de dépendance
- Le concept de l’injection de dépendance
- Les types d’injection
- l’injection de dépendance avec Symfony 2
Le conteneur de services : Symfony
- Fonctionnement et enjeux du Container
- Les services de Drupal 8
- Déclarer un nouveau service
- Modifier un service de Drupal 8
- Concepts hérités de Symfony 2 : le container, les services…
EventDispatcher
- Les patrons de conception « Observateur » et « Médiateur »
- Le gestionnaire d’événements
- Les événements principaux du framework Symfony 2
- Connecter des écouteurs à des événements du container Symfony
- 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
Plugin personnalisé sous Drupal 8
- Déclarer le plugin manager (service)
- Class DefaultPluginManager
- Méthode de découverte (annotation par défaut).
Mise en oeuvre un plugin
- Condition de visibilité sur les blocs avec le plugin Condition Plugin API
- Utiliser la Mail API
Personnalisation d’une entit
- Système de routage pour la gestion de l’entité.
- Déclarer une interface (ContentEntityInterface).
- Déclarer une classe (ContentEntityBase).
- Déclarer le schema correspondant.
- Les contrôleurs et les formulaires
- Soumettre ses données à Views.