示例#1
0
文件: yodphp.php 项目: qs9816/yodphp
 /**
  * getInstance
  * @access public
  * @param mixed $config
  * @return Yod_Database
  */
 public static function getInstance($config = 'db_dsn')
 {
     if (is_string($config)) {
         $config = Yod::config($config);
     }
     if (!is_array($config)) {
         return false;
     }
     if (empty($config['type']) || !is_string($config['type'])) {
         $config['type'] = 'pdo';
     }
     $md5key = md5(serialize($config));
     if (empty(self::$_db[$md5key])) {
         if ($config['type'] == 'pdo') {
             $classname = 'Yod_DbPdo';
         } else {
             $classname = 'Yod_Db' . ucwords($config['type']);
         }
         if (!class_exists($classname, false)) {
             include YOD_RUNPATH . '/Driver/' . substr($classname, 4) . '.php';
         }
         self::$_db[$md5key] = new $classname($config);
     }
     return self::$_db[$md5key];
 }