コード例 #1
0
 public function testUsernameAndPasswordWithCustomDsn()
 {
     $environmentConfig = new EnvironmentConfig(['adapter' => 'test_adapter', 'dsn' => 'custom_dsn', 'username' => 'test_username', 'password' => 'test_password']);
     $this->assertEquals('test_adapter', $environmentConfig->getAdapter());
     $this->assertEquals('custom_dsn', $environmentConfig->getDsn());
     $this->assertEquals('test_username', $environmentConfig->getUsername());
     $this->assertEquals('test_password', $environmentConfig->getPassword());
 }
コード例 #2
0
ファイル: AdapterFactory.php プロジェクト: lulco/phoenix
 public static function instance(EnvironmentConfig $config)
 {
     $configHash = md5(json_encode($config->getConfiguration()));
     if (isset(self::$instances[$configHash])) {
         return self::$instances[$configHash];
     }
     $pdo = new PDO($config->getDsn(), $config->getUsername(), $config->getPassword());
     if ($config->getAdapter() == 'mysql') {
         $adapter = new MysqlAdapter($pdo);
     } elseif ($config->getAdapter() == 'pgsql') {
         $adapter = new PgsqlAdapter($pdo);
     } elseif ($config->getAdapter() == 'sqlite') {
         $adapter = new SqliteAdapter($pdo);
     } else {
         throw new InvalidArgumentValueException('Unknown adapter "' . $config->getAdapter() . '". Use one of value: "mysql", "pgsql", "sqlite".');
     }
     $adapter->setCharset($config->getCharset());
     self::$instances[$configHash] = $adapter;
     return $adapter;
 }