Home

Awesome

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.

Installation

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.

Introduction

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.

Usage

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:

NameCompulsoryDescription
Doctrine\Common\Cache\CachenoA Doctrine cache.
thecodingmachine.stash-universal-module.debugnoWhether 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 nameDescription
Doctrine\Common\Annotations\ReaderA Doctrine annotation reader.

Extended services

This service provider does not extend any service.