Cross-framework module for doctrine/annotations

1.1.x-dev 2019-02-04 17:01 UTC

This package is auto-updated.

Last update: 2021-10-14 22:43:55 UTC


Build Status Coverage Status

Doctrine annotations universal module

This package integrates doctrine/annotations (the Doctrine annotation library) in any container-interop/service-provider compatible framework/container.


composer require thecodingmachine/doctrine-annotations-universal-module

Once installed, you need to register the TheCodingMachine\DoctrineAnnotationsServiceProvider into your container.

If your container supports thecodingmachine/discovery integration, you have nothing to do. Otherwise, refer to your framework or container's documentation to learn how to register service providers.


This service provider will provide a default Doctrine AnnotationReader implementation. It will use a Doctrine cache if the cache is available.

Note: you can get a service provider providing a working Doctrine cache using the following packages:

composer require thecodingmachine/stash-universal-module
composer require thecodingmachine/psr-6-doctrine-bridge-universal-module

This will install Stash and its related service-provider and a PSR-6 to Doctrine cache bridge.


use Doctrine\Common\Annotations\AnnotationReader;

$annotationReader = $container->get(AnnotationReader::class);

Default behaviour

This service provider will lookup for a Doctrine\Common\Cache\Cache service. If available, this cache system will be used to cache annotations.

Annotations will be loaded using the autoloader from Composer.

Expected values / services

This service provider expects the following configuration / services to be available:

Name Compulsory Description
Doctrine\Common\Cache\Cache no A Doctrine cache.
thecodingmachine.stash-universal-module.debug no Whether debug mode is enabled or not. Defaults to true. In debug mode, cache is invalidated with a PHP file changes.

Provided services

This service provider provides the following services:

Service name Description
Doctrine\Common\Annotations\Reader A Doctrine annotation reader.

Extended services

This service provider does not extend any service.