Download the PHP package terminal42/service-annotation-bundle without Composer
On this page you can find all versions of the php package terminal42/service-annotation-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download terminal42/service-annotation-bundle
More information about terminal42/service-annotation-bundle
Files in terminal42/service-annotation-bundle
Package service-annotation-bundle
Short Description Add service tags from class annotations
License MIT
Informations about the package service-annotation-bundle
terminal42/service-annotation-bundle
This bundle allows to add tags to container services using annotations. Similar to services subscribers for events, this allows the class to contain all necessary information within the same file.
This is most helpful if you use autowiring and autoconfiguration in your service definitions, but it works without it (e.g. for bundles) nonetheless.
Installation
Afterwards, make sure to enable the
Terminal42\ServiceAnnotation\Terminal42ServiceAnnotationBundle
in your
kernel.
Configuration
The bundle currently does not provide any service configuration.
How to use
Annotations can be used on any service which is registered in the container.
The example annotations below equal to the following tags:
Example:
If an annotation is added to a method instead of the class, the method name is automatically added to the service tag "method" argument.
Extending the annotations
If your bundle provides new tags to other services, you can improve DX by providing your own annotations. Good IDEs like PhpStorm can then provide autocomplete support.
Example:
Applying this to the example above, the class annotation can be simplified like this:
All versions of service-annotation-bundle with dependencies
doctrine/annotations Version ^1.6 || ^2.0
symfony/dependency-injection Version ^4.0 || ^5.0 || ^6.0 || ^7.0
symfony/http-kernel Version ^4.0 || ^5.0 || ^6.0 || ^7.0