Skip to content
This repository has been archived by the owner on Dec 4, 2017. It is now read-only.

Doctrine Cache adapter for the Rollerworks Metadata Component (DISCONTINUED)

License

Notifications You must be signed in to change notification settings

rollerworks-graveyard/metadata-doctrine-cache

Repository files navigation

Doctrine Cache adapter for the Rollerworks Metadata Component

Build Status

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.

About

Doctrine Cache adapter for the Rollerworks Metadata Component (DISCONTINUED)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages