Esempio n. 1
0
 /**
  * Initializes Memcache cache
  * 
  * @param array $config
  * @param Doctrine\Common\Cache\Cache $adapter 
  */
 private function initMemcache($config, $adapter)
 {
     // Prevent stupid PHP error of missing extension (if other driver is being used)
     $memcacheClassName = 'Memcache';
     $memcache = new $memcacheClassName();
     // Default server configuration
     $defaultServer = array('host' => 'localhost', 'port' => 11211, 'persistent' => true, 'weight' => 1, 'timeout' => 1, 'retryInterval' => 15, 'status' => true);
     //Override
     if (isset($config['options']['servers'])) {
         foreach ($config['options']['servers'] as $server) {
             $server = array_replace_recursive($defaultServer, $server);
             $memcache->addServer($server['host'], $server['port'], $server['persistent'], $server['weight'], $server['timeout'], $server['retryInterval'], $server['status']);
         }
     }
     $adapter->setMemcache($memcache);
 }