| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | <?php namespace Laravel;class Memcached {	/**	 * The Memcached connection instance.	 *	 * @var Memcache	 */	protected static $connection;	/**	 * Get the Memcached connection instance.	 *	 * <code>	 *		// Get the Memcache connection and get an item from the cache	 *		$name = Memcached::connection()->get('name');	 *	 *		// Get the Memcache connection and place an item in the cache	 *		Memcached::connection()->set('name', 'Taylor');	 * </code>	 *	 * @return Memcache	 */	public static function connection()	{		if (is_null(static::$connection))		{			static::$connection = static::connect(Config::get('cache.memcached'));		}		return static::$connection;	}	/**	 * Create a new Memcached connection instance.	 *	 * @param  array     $servers	 * @return Memcache	 */	protected static function connect($servers)	{		$memcache = new \Memcache;		foreach ($servers as $server)		{			$memcache->addServer($server['host'], $server['port'], true, $server['weight']);		}		if ($memcache->getVersion() === false)		{			throw new \Exception('Could not establish memcached connection.');		}		return $memcache;	}	/**	 * Dynamically pass all other method calls to the Memcache instance.	 *	 * <code>	 *		// Get an item from the Memcache instance	 *		$name = Memcached::get('name');	 *	 *		// Store data on the Memcache server	 *		Memcached::set('name', 'Taylor');	 * </code>	 */	public static function __callStatic($method, $parameters)	{		return call_user_func_array(array(static::instance(), $method), $parameters);	}}
 |