1

Zend Framework の初心者で、質問があります。

CMS に 20 個のモジュールがあり、すべてのモジュールで APC キャッシュ アダプター (モジュール構成で定義) を使用しています。このアダプターを Memcache に変更したいと考えています。

config.module.php のすべてを変更する代わりに、良い習慣はありますか?

4

1 に答える 1

2

DI /ServiceManagerを使用してCache/Cacheアダプターをセットアップする場合は、ServiceManagerConfig内の定義を変更するだけでこれを変更できるはずです。

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'); ?>
于 2013-02-22T12:19:20.867 に答える