In Symfony 3.3, we added new features to simplify the services configuration. This will make your applications easier to maintain and it will improve your development productivity.

In Symfony 3.3, the class argument is optional for unnamed services. When services are defined using YAML format, we decided to go a step further and optimize the usual case where a service only contains the class and arguments options:

Default service configuration¶

One of the ideas proposed for the upcoming Symfony 4.0 was to make services private by default. We discarded the idea because of the pain that it would have introduced when upgrading Symfony 3.x applications. However, we decided to add a feature to simplify defining default service configurations.

The new services._defaults option lets you set the value of the public , tags and autowire options for all the services defined in a single file: