nosql_type)) ? $type : 'MONGO'; switch ($type) { case 'MONGO' : $instance_name = 'mongo_' . $server; if (isset(nosqlInit::$instance[$instance_name])) return nosqlInit::$instance[$instance_name]; $mongo = $this->load_nosql('mongo.init.php', 'mongoInit', $server); $mongo->init($InitPHP_conf['mongo'][$server]); nosqlInit::$instance[$instance_name] = $mongo; return $mongo; break; case 'REDIS' : $instance_name = 'redis_' . $server; if (isset(nosqlInit::$instance[$instance_name])) return nosqlInit::$instance[$instance_name]; $redis = $this->load_nosql('redis.init.php', 'redisInit', $server); $redis->init($InitPHP_conf['redis'][$server]); nosqlInit::$instance[$instance_name] = $redis; return $redis; break; } } /** * 加载不同NOSQL类文件 * @param string $file 缓存文件名 * @param string $class 缓存类名 * @param String $server 服务器 * @return obj */ private function load_nosql($file, $class, $server) { if (nosqlInit::$instance['require'][$file] != TRUE) { require('driver/' . $file); nosqlInit::$instance['require'][$file] = TRUE; } $tag = $class . "_" . $server; if (!nosqlInit::$instance['class'][$tag]) { nosqlInit::$instance['class'][$tag] = new $class; return nosqlInit::$instance['class'][$tag]; } else { return nosqlInit::$instance['class'][$tag]; } } }