rollerworks / metadata-doctrine-cache
Doctrine Cache adapter for the Rollerworks Metadata Component
Requires
- php: >=5.4
- doctrine/cache: ^1.4.2
- rollerworks/metadata: >=0.5,<2.0
This package is not auto-updated.
Last update: 2022-02-01 12:51:26 UTC
README
This package provides a Doctrine Cache adapter for the Rollerworks Metadata Component.
Installation
To install this package, add rollerworks/metadata-doctrine-cache
to your composer.json
$ php composer.phar require rollerworks/metadata-doctrine-cache
Then, you can install the new dependencies by running Composer's update
command from the directory where your composer.json
file is located:
$ php composer update rollerworks/metadata-doctrine-cache
Now, Composer will automatically download all required files, and install them for you.
Usage
require 'vendor/autoload.php'; use Doctrine\Common\Cache\ArrayCache; use Doctrine\Common\Cache\ChainCache; use Doctrine\Common\Cache\FilesystemCache; use Rollerworks\Component\Metadata\CacheableMetadataFactory; use Rollerworks\Component\Metadata\Cache\Validator\AlwaysFreshValidator; use Rollerworks\Component\Metadata\Cache\ArrayCache; $cacheDirectory = ...; // The Doctrine cache library. $doctrineCache = new ChainCache( [ // Include the ArrayCache as the ChainCache will populate all the previous cache layers. // So if the `FilesystemCache` has a match it will populate the faster ArrayCache. new ArrayCache(), // Saves the cache in the filestem. new FilesystemCache($cacheDirectory), ] ); // Rollerworks\Component\Metadata\Cache\CacheProvider $cache = Rollerworks\Component\Metadata\Driver\Cache\DoctrineCache($doctrineCache); // Rollerworks\Component\Metadata\Driver\MappingDriver $driver = ...; // Rollerworks\Component\Metadata\Cache\FreshnessValidator $freshnessValidator = ...; $metadataFactory = new CacheableMetadataFactory($driver, $doctrineCache, $freshnessValidator);
That's it.
Running test
Whenever you open a pull-request tests are already run by Travis-CI.
Tests can be run with PHPUnit, make sure you use the --prefer-source
option when running Composer as some classes for testing are not available
in the archive package.