| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | <?php namespace System;class Memcached {	/**	 * The Memcache instance.	 *	 * @var Memcache	 */	private static $instance = null;	/**	 * Get the singleton Memcache instance.	 *	 * @return Memcache	 */	public static function instance()	{		if (is_null(static::$instance))		{			if ( ! class_exists('Memcache'))			{				throw new \Exception('Attempting to use Memcached, but the Memcached PHP extension is not installed on this server.');			}			$memcache = new \Memcache;			foreach (Config::get('cache.servers') as $server)			{				$memcache->addServer($server['host'], $server['port'], true, $server['weight']);			}			if ($memcache->getVersion() === false)			{				throw new \Exception('Memcached is configured. However, no connections could be made. Please verify your memcached configuration.');			}			static::$instance = $memcache;		}		return static::$instance;	}}
 |