openclassrooms/doctrine-cache-extension-bundle

Symfony2 Bundle extending doctrine cache capabilities

v2.0.1 2022-03-15 10:46 UTC

This package is auto-updated.

Last update: 2024-04-15 15:11:52 UTC


README

Build Status SensioLabsInsight Coverage Status

The DoctrineCacheExtensionBundle offers integration of the DoctrineCacheExtension library. DoctrineCacheExtension provides functionality to handle cache management:

  • 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 directly to the composer.json file.

{
    "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 the number of calls, kinds of calls, and more. (picture)