function connect() { $config = \configuration\load(); if (empty($config['dsn']) || empty($config['user']) || empty($config['password'])) { die("Please check the configuration\\database.php file"); } R::addDatabase('db', $config['dsn'], $config['user'], $config['password'], $config['frozen']); R::selectDatabase('db'); }
/** * @param array $db * @throws \Exception */ public function __construct($db = []) { $this->db = $db; $this->cache = isset($db['dev']) && $db['dev'] ? true : false; foreach ($this->db as $key => $db) { if (!isset($db['user']) || !isset($db['pass']) || !isset($db['host']) || !isset($db['db'])) { throw new \Exception('Missing arguments for RedBean constructor'); } $db['driver'] == 'sqlite' ? R::addDatabase($key, 'sqlite:/tmp/dbfile.db') : R::addDatabase($key, $db['driver'] . ':host=' . $db['host'] . ';dbname=' . $db['db'], $db['user'], $db['pass']); } }
protected static function init() { if (self::$_inited) { return; } $c = static::conf(); shuffle($c['write']); shuffle($c['read']); self::$_mcs = $c['write']; self::$_scs = array_merge($c['read'], $c['write']); R::setup(); foreach (self::$_mcs as $i => $c) { R::addDatabase("write:{$i}", sprintf('mysql:host=%s;port=%d;dbname=%s', $c['host'], $c['port'], $c['dbname']), $c['username'], $c['password']); } foreach (self::$_scs as $i => $c) { R::addDatabase("read:{$i}", sprintf('mysql:host=%s;port=%d;dbname=%s', $c['host'], $c['port'], $c['dbname']), $c['username'], $c['password']); } self::$_inited = true; }