Ejemplo n.º 1
0
Archivo: Db.php Proyecto: vzina/yaf-api
 public static function instance($name = null, array $config = array())
 {
     if (empty($name)) {
         $name = '_db';
     }
     /** 单例*/
     if (Registry::has($name)) {
         return Registry::get($name);
     }
     if (empty($config)) {
         /** @var \Yaf\Config\Ini $_config */
         $_config = Registry::get('config');
         if (!$_config || !($tmp = $_config->get($name))) {
             return false;
         }
         $config = $tmp->toArray();
     }
     if (empty($config['adapter'])) {
         $config['adapter'] = 'Pdo\\Mysql';
     }
     $db = Db::factory($config);
     Registry::set($name, $db);
     return $db;
 }
Ejemplo n.º 2
0
 /**
  * Slave MySQL Adapter
  *
  * @param string $name
  * @return DBAbstract
  */
 public function slave($name = null)
 {
     if ($this->_slave) {
         return $this->_slave;
     }
     if (is_null($name) || empty($this->_config['slave'][$name])) {
         $name = array_rand($this->_config['slave']);
     }
     $params = $this->_config['slave'][$name];
     $config = array('adapter' => $this->_config['adapter'], 'params' => $params);
     $this->_slave = Db::factory($config);
     $this->_mysql = $this->_slave;
     return $this->_slave;
 }
Ejemplo n.º 3
0
 /**
  * Connect db from config
  *
  * @param null $name
  * @param array $config
  * @return Db\DbAbstract
  * @throws DBException
  */
 public function db($name = null, array $config = array())
 {
     if (empty($name)) {
         $name = $this->_db;
     }
     return Db::instance($name, $config);
 }