/** * testMapUsage * * Map custom schemes in the dsn class to mysql for the default port (convenience only) * Map custom schemes in the wrapper class to a custom datasources * * @dataProvider mapUsageProvider * @return void */ public function testMapUsage($url, $expected) { Dsn::map(['nysql' => '\\AD7six\\Dsn\\Db\\MysqlDsn', 'oysql' => '\\AD7six\\Dsn\\Db\\MysqlDsn']); DbDsn::map(['mongo' => 'MongoDb.MongodbSource', 'mysql' => 'Plugin.DboClass', 'nysql' => 'Plugin.Directory/DboClass', 'oysql' => 'Plugin.Directory/SubDirectory/DboClass']); $dsn = new DbDsn($url); $return = $dsn->toArray(); $this->assertSame($expected, $return, 'The url should parse as expected'); $return = $dsn->__toString(); $this->assertSame($url, $return, 'The dsn should parse back to the same url'); }
/** * Define connections using environment variables * * @return void */ public function __construct() { $this->default = DbDsn::parse(env('DATABASE_URL')); $this->test = DbDsn::parse(env('DATABASE_TEST_URL')); // Use datasource class in MongoDB plugin $this->default['datasource'] = 'Mongodb.MongodbSource'; }
/** * Define connections using environment variables * * @return void */ public function __construct() { $settings = DbDsn::parse(env('DATABASE_URL')); $this->default = $this->_adoptSettings($settings); $settings = DbDsn::parse(env('DATABASE_TICKETS_URL')); $this->tickets = $this->_adoptSettings($settings); }
/** * Define connections using environment variables * * @return void */ public function __construct() { $this->default = DbDsn::parse(env('DATABASE_URL')); $this->test = DbDsn::parse(env('DATABASE_TEST_URL')); }
/** * parse a url as a database dsn * * @param string $url * @param array $options * @return array */ public static function parse($url, $options = []) { $inst = new DbDsn($url, $options); return $inst->toArray(); }