Deep dive into the dependency injection container in Drupal 8
We use Dependency Injection every day on each website that we code. I would like to speak about the “Dependency Injection Container” inside Drupal 8.
Not how to use it but how it’s implemented. I will propose you to have a new look at "Service Definition", how Drupal handles the "build" of its services. It’s very interesting to see how Drupal’s problematics are different from the Symfony’s ones (Dynamic container vs static container).
The aim of this talk is to explain all the concepts behind DIC (Services Container, Container Builder, Services, Tags, Compiler, Dumper ...) and to see how to interact with Service Definition in Drupal 8 (Service Provider, Compiler Pass).
I will not speak about the “Dependency Injection” pattern, there are already many articles well written on the web.