WARNING: You are browsing the documentation for version 1.1 which is not maintained anymore. If some of your projects are still using this version, consider upgrading.

Doctrine Caching for Jackalope Doctrine DBAL

1.1 version
Maintained Unmaintained
1.2

Doctrine Caching for Jackalope Doctrine DBAL

Jackalope Doctrine DBAL gets better performance when running it with the DoctrineCacheBundle:

1
$ php composer.phar require doctrine/cache-bundle:1.0.*

And adding the following entry to your app/AppKernel.php:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
// app/AppKernel.php

// ...
public function registerBundles()
{
    $bundles = array(
        // ...
        new Doctrine\Bundle\DoctrineCacheBundle\DoctrineCacheBundle(),
    );

    // ...
}

Configure a doctrine_cache section in your main configuration file and add a caches section to doctrine_phpcr.session.backend:

  • YAML
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    # app/config/config.yml
    doctrine_cache:
        providers:
            phpcr_meta:
                type: file_system
            phpcr_nodes:
                type: file_system
    
    doctrine_phpcr:
        session:
            backend:
                # ...
                caches:
                    meta: doctrine_cache.providers.phpcr_meta
                    nodes: doctrine_cache.providers.phpcr_nodes
    
  • XML
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <!-- app/config/config.xml -->
    <?xml version="1.0" encoding="UTF-8" ?>
    <container xmlns="http://symfony.com/schema/dic/services">
        <config xmlns="http://doctrine-project.org/schema">
            <provider name="phpcr_meta" type="file_system"/>
            <provider name="phpcr_nodes" type="file_system"/>
        </config>
        <config xmlns="http://doctrine-project.org/schema/symfony-dic/odm/phpcr">
            <session>
                <backend>
                    <!-- ... -->
                    <caches
                        meta="doctrine_cache.providers.phpcr_meta"
                        nodes="doctrine_cache.providers.phpcr_nodes"
                    >
                </backend>
            </session>
        </config>
    </container>
    
  • PHP
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    // app/config/config.php
    $container->loadFromExtension('doctrine_cache', array(
        'providers' => array(
            'phpcr_meta' => array(
                'type' => 'file_system',
            ),
            'phpcr_nodes' => array(
                'type' => 'file_system',
            ),
        ),
    );
    
    $container->loadFromExtension('doctrine_phpcr', array(
        'session' => array(
            'backend' => array(
                // ...
                'caches' => array(
                    'meta' => 'doctrine_cache.providers.phpcr_meta',
                    'nodes' => 'doctrine_cache.providers.phpcr_nodes',
                ),
            ),
        ),
    );
    

This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.