/** * Get instance of array benchmarker * * @throws Exception * @param string $array * @return Adapter_Plain|Adapter_Object|Adapter_Fixed|Adapter_Judy */ public static function instance($array) { switch ($array) { case self::ARRAY_PLAIN: self::$array = array(); return new Adapter_Plain(); case self::ARRAY_OBJECT: self::$array = new ArrayObject(); return new Adapter_Object(); case self::ARRAY_FIXED: self::$array = new SplFixedArray(); return new Adapter_Fixed(); case self::ARRAY_JUDY: self::$array = new Judy(Judy::INT_TO_MIXED); return new Adapter_Judy(); } throw new Exception('Array type you passed is currently not supported.'); }
/** * Get instance of client benchmarker * * @throws Exception * @param string $client * @param string $serializer * @return Benchmarker_Memcache|Benchmarker_Memcached|Benchmarker_Redis */ public static function instance($client, $serializer = self::SERIALIZER_PHP) { switch ($serializer) { case self::SERIALIZER_INTERNAL: case self::SERIALIZER_IGBINARY: case self::SERIALIZER_PHP: self::$serializer = $serializer; break; default: throw new Exception('Serializer you passed is currently not supported.'); } switch ($client) { case self::CLIENT_PREDIS: self::$client = new Predis(); return new Adapter_Redis(); case self::CLIENT_REDIS: self::$client = new Redis(); self::$client->connect('127.0.0.1'); return new Adapter_Redis(); case self::CLIENT_MEMCACHED: self::$client = new Memcached(); self::$client->addServer('127.0.0.1', 11211); return new Adapter_Memcached(); case self::CLIENT_MEMCACHE: self::$client = new Memcache(); self::$client->addServer('127.0.0.1', 11211); return new Adapter_Memcache(); } throw new Exception('Client you passed is currently not supported.'); }