如何在Symfony 2 DI容器中集成Zend Cache StorageFactory?

时间:2013-11-03 19:43:45

标签: php symfony dependency-injection zend-cache

如何将Zend Cache Factory集成到Symfony 2中,以便我可以在config.yml中轻松更改缓存适配器?

这是使用工厂获取适配器的传统方法。

use Zend\Cache\StorageFactory;

$cache = StorageFactory::factory(array(
    'adapter' => array(
        'name'    => 'apc',
        'options' => array('ttl' => 3600),
    ),
    'plugins' => array(
        'exception_handler' => array('throw_exceptions' => false),
    ),
));

来源:http://framework.zend.com/manual/2.2/en/modules/zend.cache.storage.adapter.html

由于zend缓存库已由composer安装。将它集成到DI容器中的最佳方法是什么,以便我可以在应用程序的任何位置配置我的缓存?

$this->get('my_cache.blog')

1 个答案:

答案 0 :(得分:0)

试试这个。 (请记住,YAML格式可能存在问题)

services:
    my_cache.blog:
        class:          Zend\Cache\Storage\Adapter
        factory_class:  Zend\Cache\StorageFactory
        factory_method: factory
        arguments:
            - 
                adapter:
                    name: apc
                    options: { ttl: 3600 }
                plugins:
                    exception_handler: { throw_exceptions: false }

以下是有关using factories in Symfony's Dependency Injection component的更多信息。