Zend framework2 Zend框架2-适配器

Zend framework2 Zend框架2-适配器,zend-framework2,Zend Framework2,我是Zend框架的新手,我有个问题 我的CMS中有20个模块,所有模块都使用APC缓存适配器(在模块配置中定义),现在我想将此适配器更改为Memcache 有什么好的做法可以代替更改所有config.module.php吗?如果您使用DI/Service Manager设置缓存/缓存适配器,那么您应该能够通过更改Service Manager配置中的定义来非常简单地更改这一点 服务管理器配置: 'My\Cache' => function($sm){ $cache

我是Zend框架的新手,我有个问题

我的CMS中有20个模块,所有模块都使用APC缓存适配器(在模块配置中定义),现在我想将此适配器更改为Memcache


有什么好的做法可以代替更改所有config.module.php吗?

如果您使用DI/Service Manager设置缓存/缓存适配器,那么您应该能够通过更改Service Manager配置中的定义来非常简单地更改这一点

服务管理器配置:

    'My\Cache' => function($sm){
        $cache = \Zend\Cache\StorageFactory::factory(array(
            'adapter' => 'filesystem',
            'plugins' => array(
                'exception_handler' => array('throw_exceptions' => FALSE),
                'serializer'
            )
        ));

        $cache->setOptions(array(
            'cache_dir' => './data/cache',
            'ttl'       => 60*60,
        ));

        return $cache;
    },
然后,您可以在SM中更改适配器和设置。所有模块都将使用服务管理器来使用缓存,因此它们不需要任何进一步的更改

一些模块:

<?php $cache = $this->getServiceManager()->get('My\Cache'); ?>