2013-02-22 2 views
1

내가 젠드 프레임 워크에 새로 온 사람과 I'va 질문을 얻었다.젠드 프레임 워크 2 - 어댑터

나는 내 CMS 20 개 모듈 (모듈 구성에 정의) APC 캐시 어댑터를 사용하여 모든 모듈이, 그리고 지금은 Memcache를이 어댑터를 변경하고 싶습니다.

대신 config.module.php의 모든 변화의 어떤 좋은 방법이 있습니까? 당신이 설정하여 캐시/캐시 어댑터가 DI/서비스 관리자를 사용하는 경우

답변

2

다음은 서비스 관리자 구성 내부의 정의를 변경하여 아주 간단하게 변경할 수 있어야합니다.

서비스 관리자 구성 :

'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'); ?> 
관련 문제