openclassrooms / doctrine-cache-extension
Library extending doctrine cache capabilities
Installs: 391 660
Dependents: 3
Suggesters: 0
Security: 0
Stars: 0
Watchers: 27
Forks: 1
Open Issues: 0
Requires
- php: >=5.6
- doctrine/cache: 2.2.0
Requires (Dev)
- mockery/mockery: 0.*
- phpunit/phpunit: ^9.6.20
This package is auto-updated.
Last update: 2025-02-03 12:35:36 UTC
README
The Doctrine Cache extension adds the following features to Doctrine Cache implementation:
- Default lifetime
- Fetch with a namespace
- Save with a namespace
- Cache invalidation through namespace strategy
Installation
The easiest way to install DoctrineCacheExtension is via composer.
Create the following composer.json
file and run the php composer.phar install
command to install it.
{ "require": { "openclassrooms/doctrine-cache-extension": "*" } }
<?php require 'vendor/autoload.php'; use OpenClassrooms\DoctrineCacheExtension\CacheProviderDecorator; //do things
Usage
Instantiation
OpenClassrooms CacheProviderDecorator needs a Doctrine CacheProvider to be instantiated.
$cacheProvider = new ArrayCache(); $cacheProviderDecorator = new CacheProviderDecorator($cacheProvider);
A factory can be used to accomplish this.
$factory = new CacheProviderDecoratorFactory(); $cacheProvider = $factory->create('array');
Default lifetime
Specify lifetime in the constructor:
$cacheProviderDecorator = new CacheProviderDecorator($cacheProvider, 100); $cacheProviderDecorator->save($id, $data);
Or via the factory:
$cacheProvider = $factory->create('array', 100);
Or specify a default lifetime for all the cache providers:
$factory = new CacheProviderDecoratorFactory(); $factory->setDefaultLifetime(100);
Fetch with namespace
$data = $cacheProviderDecorator->fetchWithNamespace($id, $namespaceId);
Save with namespace
// Namespace and life time can be null $data = $cacheProviderDecorator->saveWithNamespace($id, $data, $namespaceId, $lifeTime);
Cache invalidation
$cacheProviderDecorator->invalidate($namespaceId);