Problem/Motivation
In Symfony 3.3 the DependencyInjection component received a lot of attention and new features including autowiring and private services by default. Drupal's container and YamlFileLoader have not changed much since 8.0.0 and lack these new features. This means that:
- We are steadily getting less and less like a Symfony application
- Drupal developers have to type more and know more arcane Drupalisms and the internet is less helpful because the Symfony examples don't work
- We risk becoming so incompatible that we won't be able to leverage Symfony container code
To read about the new features in Symfony 3.3 - https://symfony.com/doc/current/service_container/3.3-di-changes.html
Proposed resolution
Work on bring Drupal 8 the same or similar feature set:
- #3021803: Enable autowiring the container
- #3021898: Support _defaults key in service.yml files
- #3021899: Support resource key in services.yml
Remaining tasks
Define all the tasks and discuss possibilities.
User interface changes
None
API changes
@todo
Data model changes
None
Release notes snippet
@todo