Drupal

Drupal 10 et Symfony pour développeurs

Objectifs de la formation

  • Injection de dépendance
  • Container de Symfony
  • EventDispatcher
  • Réaliser son propre type de plugin Drupal 10
  • Implémentation d’un plugin
  • Mettre au point sa propre entité de configuration Drupal


Programme de la formation

Injection de dépendance

  • Comprendre l’injection de dépendance
  • Les différents types d’injections existant
  • Comprendre comment l’injection de dépendance est implémentée dans Symfony

Container de Symfony

  • A quoi sert le container
  • Les principaux services de Drupal 10
  • Déclarer un nouveau service
  • Remplacer un service de Drupal 10
  • Les concepts hérités de Symfony : le container, les services…

EventDispatcher

  • Découvrir les patrons de conception « Observateur » et « Médiateur »
  • Apprendre à découpler son code avec le gestionnaire d’événements
  • Identifier les événements principaux du framework Symfony
  • Relier des écouteurs à des événements du noyau de Symfony et Drupal
  • Étendre des événements personnalisés dans du code métier
  • Créer de nouveaux types d’événements
  • Sauvegarder des « écouteurs » et « abonnés » d’événements

Être capable de réaliser son propre type de plugin Drupal 10

  • Déclaration du plugin manager (service)
  • Utilisation de la class DefaultPluginManager()
  • Choix de la méthode de découverte (annotation PHP)

Implémentation d’un plugin

  • Déclaration du plugin Condition Plugin API
  • Utilisation de la Mail API

Mettre au point sa propre entité de configuration Drupal

  • Ajouter le routing de base pour la gestion de son type d’entité
  • Déclarer une interface (ContentEntityInterface())
  • Déclarer une classe (extension de ContentEntityBase())
  • Déclarer le schéma correspondant
  • Ajouter les contrôleurs et formulaires nécessaires
  • Exposer ses données au module Views.

Please login to get access to the quiz
Drupal 8 Développeur (Prev Lesson)
Back to Drupal
Public

Développeurs Web

Pré-requis

Avoir des connaissances sur PHP Objet, Avoir des connaissances sur HTML et CSS, Avoir des connaissances sur Drupal