Skip to content

emilyreese/DoctrineCacheExtensionBundle

 
 

Repository files navigation

Build Status SensioLabsInsight Coverage Status

The DoctrineCacheExtensionBundle provides integration of the DoctrineCacheExtension library. DoctrineCacheExtension provides facilities to manage cache managment:

  • Default lifetime
  • Fetch with a namespace
  • Save with a namespace
  • Cache invalidation through namespace strategy
  • Data collector available in the profiler (not implemented yet)

See OpenClassrooms/DoctrineCacheExtension for more details.

Installation

This bundle can be installed using composer:

composer require openclassrooms/doctrine-cache-extension-bundle or by adding the package to the composer.json file directly.

{
    "require": {
        "openclassrooms/doctrine-cache-extension-bundle": "*"
    }
}

After the package has been installed, add the bundle and the DoctrineCacheBundle to the AppKernel.php file:

// in AppKernel::registerBundles()
$bundles = [
    // ...
    new new \Doctrine\Bundle\DoctrineCacheBundle\DoctrineCacheBundle();
    new OpenClassrooms\Bundle\DoctrineCacheExtensionBundle\OpenClassroomsDoctrineCacheExtensionBundle(),
    // ...
)];

Configuration

# app/config/config.yml

doctrine_cache_extension:
    default_lifetime: 10 #optional, default = 0

To configure the cache providers, use the DoctrineCacheBundle configuration. For example :

# app/config/config.yml

doctrine_cache:
    providers:
        a_cache_provider:
            type: array

Usage

$cache = $container->get('doctrine_cache.providers.a_cache_provider');

$cache->fetch($id);
$cache->fetchWithNamespace($id, $namespaceId);
$cache->save($id, $data);
$cache->saveWithNamespace($id, $data, $namespaceId);
$cache->invalidate($namespaceId);

Profiler

The bundle provides data in the profiler such as number of calls, kind of calls ... (picture)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%