EDUGROUPE : 4.3. Solutions Open Source - Gestion de contenu, e-commerce, CRM - Drupal 8 Développeur - Avancé (certification en option)
Organisme
75116 PARIS
Contact
Durée
21 heuresModalités
- Classe virtuelle
- Présentiel
• Evaluation lors de la réalisation d'exercices pratiques • Auto-évaluation des acquis par le stagiaire via un questionnaire • Attestation de fin de stage adressée avec la facture
Certification Drupal Développeur avancé à passer après la formation.
Prix
Public
Développeurs Web souhaitant exploiter Drupal 8 et comprendre l'intégration de Symfony
Pré-requis
Connaître le PHP Objet (indispensable) - Connaître Drupal 8 en tant que développeur (routing, Form API, Database API...). - Les bases du développement de module pour Drupal 8 sont indispensables. - Connaître HTML et CSS (fortement recommandé)
Objectifs pédagogiques
- 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
Programme détaillé
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/9 ?
• Comment déclarer un nouveau service ?
• Comment remplacer un service de Drupal 8/9 ?
• 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 de plugin
• Déclaration du plugin manager (service)
• Class DefaultPluginManager
• Méthode de découverte (annotation par défaut)
Implémenter un plugin
• Déclaration du plugin Condition Plugin API : ajout d'une condition de visibilité sur les blocs
• Utilisation de la Mail API
Créer sa propre entité de contenu
• Ajouter le routing de base pour la gestion de l'entité
• Déclarer une interface (ContentEntityInterface)
• Déclarer une classe (ContentEntityBase)
• Déclarer le schema correspondant
• Ajouter les contrôleurs et formulaires nécessaires
• Soumettre ses données à Views