1
我是Zend Framework中的新成員,我有一個問題。Zend Framework 2 - 適配器
我在我的CMS中有20個模塊,所有使用APC高速緩存適配器的模塊(在模塊配置中定義),現在我想將此適配器更改爲Memcache。
有什麼好的做法,而不是改變所有的config.module.php?
我是Zend Framework中的新成員,我有一個問題。Zend Framework 2 - 適配器
我在我的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'); ?>