What magic happens between the start of a D8 request and the page being returned? How do routes and controllers fit in? Where are services useful and how are they built?
These questions are at the "foundation" of the D8 architecture and of the Symfony framework itself. In this workshop, you'll get an intro into routes, controllers, services and events: the 4 concepts that most fundamentally drive the new Drupal. With these new tricks, we'll pull apart the layers of Drupal to see how things actually work. And ultimately, we'll uncover that it's really not all that complicated.
By the end of the workshop, D8 will look a whole lot less mysterious. And as a bonus, the Symfony framework will look simple. Go forth and build something amazing!
- mastering the fundamentals of the route, controller, Response system - introduction and practical usage of events - learning to debug and understand existing events that make D8 go - understanding a "service" and the "container" so that you can leverage the many tools in D8 - create your own services - put dependency injection to work and really understand that principle - understand how the core D8 services are built - see how Composer's role fits into Drupal
- creating a custom module
- build a custom route-controller-response setup
- install and use the Drupal 8 console
- get a list of service in D8
- use the factory method of injecting deps into a controller
- create a service and register it
- use dependency injection to add more things to the service
- create an event subscriber to hook into the system
- investigate other, existing event subscribers and dig into how D8 works under the hood
- talk more about dependency injection tags
- experiment with the Drupal console
Drupal 7 users who have anywhere from no experience to mild experience with the new Drupal 8 concepts (routing, services, etc) will benefit most from this training. You'll start with only some (or no) knowledge of how these new pieces in Drupal 8 work, and leave feeling really confident (hopefully almost bored) with how this new stuff works and how to leverage it.
- Drupal 7 knowledge
- comfortable coding in PHP
- some object oriented experience