zf2 プロジェクトで doctrine2 エンティティをキャッシュする方法を知っている人はいますか? これが説明されているチュートリアルやウェブサイトが見つかりません。エンティティ ファイルキャッシュの定義から始めるための情報が見つかりません。
あなたの誰かが実用的なリンクや例を手に入れました。
ありがとう
zf2 プロジェクトで doctrine2 エンティティをキャッシュする方法を知っている人はいますか? これが説明されているチュートリアルやウェブサイトが見つかりません。エンティティ ファイルキャッシュの定義から始めるための情報が見つかりません。
あなたの誰かが実用的なリンクや例を手に入れました。
ありがとう
ファイル キャッシュを有効にするには、module.config.php に追加するだけです。
'doctrine' => array(
'configuration' => array(
'orm_default' => array(
'metadata_cache' => 'filesystem',
'query_cache' => 'filesystem',
)
),
)
data/DoctrineModule/cache フォルダーにキャッシュを自動的に作成します
これが ZF 2.2.4 + Doctrine 2 の完全な doctrine 設定です
'doctrine' => array(
'driver' => array(
'application_entities' => array(
'class' =>'Doctrine\ORM\Mapping\Driver\AnnotationDriver',
'cache' => 'array',
'paths' => array(__DIR__ . '/../src/Modulename/Entity')
),
'orm_default' => array(
'drivers' => array(
'Modulename\Entity' => 'application_entities'
),
)
),
'configuration' => array(
'orm_default' => array(
'metadata_cache' => 'filesystem',
'query_cache' => 'filesystem',
)
),
),
2 つのオプションがあります
バージョン 2 の例として、モジュール内に次のような構成があります (実際にはさまざまな構成ファイルに分散しているため、逐語的なコピーと貼り付けが機能することは保証できません)。
'services' => array(
'factories' => array(
// Wraps a ZF2 cache storage in a Doctrine compatible way
'doctrine.cache.zend.static.local' => function ($services) {
return new ZendStorageCache($services->get('cache.static.local'));
},
),
'caches' => array(
// A ZF2 cache, can be configured as you like
'cache.static.local' => array(
'adapter' => 'xcache',
'plugins' => array(
'exception_handler' => array(
'throw_exceptions' => false,
),
'serializer',
),
),
),
'doctrine' => array(
'configuration' => array(
'orm_default' => array(
'metadata_cache' => 'zend.static.local',
'query_cache' => 'zend.static.local',
),
),
),
Doctrine は厄介なことに自動的に "doctrine.cache" というプレフィックスを付けることに注意してください。したがって、「metadata_cache」を「zend.static.local」に設定している間、実際のキャッシュ サービスは「doctrine.cache.zend.static.local」という名前にする必要があります。もちろん、好きな名前を付けることができますが、名前にそのプレフィックスを追加する必要があります。