You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<?php /** * @copyright NetMonsters <team@netmonsters.ru> * @link http://netmonsters.ru * @package Majestic * @subpackage db * @since 2010-02-16 * @version SVN: $Id$ * @filesource $URL$ */
class Db { const FETCH_ASSOC = 2; const FETCH_NUM = 3; const FETCH_BOTH = 4; const FETCH_OBJ = 5;
/** * Databases connections * * @var array */ static protected $connections = array(); /** * Connect to database * * @param string $name Database name. If not set 'default' will be used. * @param array $config Configuration array. * * @return DbDriver */ static public function connect($name = null, $config = null) { if ($name === null) { $name = 'default'; } if (! isset(self::$connections[$name])) { if (!$config) { $config = Config::get('databases')->$name; } if (! is_array($config)) { throw new Exception('Connection parameters must be an array'); } $driver = 'MySQLiDriver'; if (isset($config['driver'])) { $driver = $config['driver']; unset($config['driver']); } $connection = new $driver($config); if (! $connection instanceof DbDriver) { throw new Exception('Database driver must extends DbDriver'); } self::$connections[$name] = $connection; } return self::$connections[$name]; } }
|