https://github.com/thecodingmachine/doctrine-annotations-universal-module
Cross-framework module for doctrine/annotations
https://github.com/thecodingmachine/doctrine-annotations-universal-module
Last synced: 12 months ago
JSON representation
Cross-framework module for doctrine/annotations
- Host: GitHub
- URL: https://github.com/thecodingmachine/doctrine-annotations-universal-module
- Owner: thecodingmachine
- Created: 2016-05-30T15:40:38.000Z (about 10 years ago)
- Default Branch: 1.1
- Last Pushed: 2019-02-04T17:01:05.000Z (over 7 years ago)
- Last Synced: 2025-06-13T15:03:41.834Z (about 1 year ago)
- Language: PHP
- Size: 7.81 KB
- Stars: 0
- Watchers: 7
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[](https://travis-ci.org/thecodingmachine/doctrine-annotations-universal-module)
[](https://coveralls.io/github/thecodingmachine/doctrine-annotations-universal-module?branch=1.1)
# Doctrine annotations universal module
This package integrates [doctrine/annotations](https://github.com/doctrine/annotations) (the Doctrine annotation library) in any [container-interop/service-provider](https://github.com/container-interop/service-provider) compatible framework/container.
## Installation
```
composer require thecodingmachine/doctrine-annotations-universal-module
```
Once installed, you need to register the [`TheCodingMachine\DoctrineAnnotationsServiceProvider`](src/DoctrineAnnotationsServiceProvider.php) 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
```php
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.