Php 如何在Symfony 2 DI容器中集成Zend Cache StorageFactory?
如何将Zend Cache Factory集成到Symfony 2中,以便在config.yml中轻松更改缓存适配器 这是使用工厂获取适配器的传统方法Php 如何在Symfony 2 DI容器中集成Zend Cache StorageFactory?,php,symfony,dependency-injection,zend-cache,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' => 36
use Zend\Cache\StorageFactory;
$cache = StorageFactory::factory(array(
'adapter' => array(
'name' => 'apc',
'options' => array('ttl' => 3600),
),
'plugins' => array(
'exception_handler' => array('throw_exceptions' => false),
),
));
资料来源:
因为zend缓存库已经由composer安装。将其集成到DI容器中以便在应用程序的任何位置配置缓存的最佳方法是什么
$this->get('my_cache.blog')
试试这个。(请记住,YAML格式可能存在问题)
以下是有关的详细信息。Zend\Cache\Storage\Adapter类不存在。只有一个抽象Zend\Cache\Storage\Adapter\AbstractAdapter,Symfony DI不接受it@dextervip啊,对不起,我在看文档,并假设它是一个类,我现在看到你的困境。如果Symfony也不允许您指定接口,比如
Zend\Cache\Storage\StorageInterface
,我会感到惊讶。我想知道是否可以省略class
选项?它也不接受接口,因为它尝试实例化,我不能省略该类,否则我会收到一个异常,说它缺少该类:(您能否设置工厂返回的类(在本例中为Zend\Cache\Storage\Adapter\Apc
)?
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 }