SF2D1 | Drupal 8 - Advanced Development
- This three day training course is codelivered by a SensioLabs trainer and a Trained People trainer. It aims at helping you understand the new Drupal 8 architecture, develop your own custom modules and understand the princiles of dependency injection and event programming.
PrerequisitesGood knowledge of PHP and Drupa 8 as a developer.
GoalsThis three day training course helps you understand the new foundations of the Drupal 8 architecture through a Symfony2 perspective. You will also discover the dependency injection principles in Drupal 8 and event programming thank to the Symfony EventDispatcher component. Finally, you will learn how to create your own custom plugin and an « handmade » configuration entity.
Discovering the dependency injection principles
- Understanding the dependency injection principles
- The different types of objects injection
- Understanding how dependency injection is handled by Symfony
Using the Symfony Dependency Injection Container
- Understanding the purposes of the Symfony dependency injection container
- Discovering the Drupal 8 built-in services
- Registering new services into the container
- Replacing an existing Drupal 8 services with another custom one
Event Driven Programming with the EventDispatcher Component
- Discovering the « Observer » and « Mediator » design patterns
- Decoupling application code with an event driven programming approach
- Identifying Symfony and Drupal built-in events
- Connecting custom event listeners to Symfony & Drupal 8 events
- Dispatching custom events to decouple code
- Creating custom event objects
- Registering event « listeners » and « subscribers »
Creating a Custom Drupal Plugin
- Declaring the plugin manager to Drupal
- Discovering the DefaultPluginManager class
- Understanding the discovery method (annotations)
Creating a Custom Configuration Entity
- Adding initial routing to manager the entity
- Declaring a new interface (ConfigEntityInterface)
- Declaring a new class (ConfigEntityBase)
- Declaring the corresponding data schema
- Adding related controllers and forms
No session scheduled
No session is scheduled for this course. However we organize tailored training courses: contact us for more informations!