Для интеграции ZF и Доктрины см .: ZF-доктрина Беберлея в GitHub
Чтобы включить кеш, в вашем приложении Bootstrap.php
:
public function _initDoctrineCache()
{
$this->bootstrap('doctrine');
$manager = Doctrine_Manager::getInstance();
$cacheDriver = null;
if (extension_loaded('memcache')) {
$servers = array(
'host' => 'localhost',
'port' => 11211,
'persistent' => true
);
$cacheDriver = new Doctrine_Cache_Memcache(array(
'servers' => $servers,
'compression' => false
)
);
} else if (function_exists('apc_add')) {
$cacheDriver = new Doctrine_Cache_Apc();
}
if (null !== $cacheDriver) {
//$manager->setAttribute(Doctrine_Core::ATTR_QUERY_CACHE, $cacheDriver);
$manager->setAttribute(Doctrine_Core::ATTR_RESULT_CACHE, $cacheDriver);
$manager->setAttribute(Doctrine_Core::ATTR_RESULT_CACHE_LIFESPAN, 120); // in seconds
}
return $cacheDriver;
}
Конечно, сначала необходимо установить apc
, memcache
и memcached
.