Example #1
0
 /**
  * 创建连接器链接
  *
  * @param  string   $driver
  * @param  \PDO|\Closure     $connection
  * @param  array    $config
  * @return \CatLib\Database\Connections\Connection
  *
  * @throws \InvalidArgumentException
  */
 protected function createConnection($driver, $connection, array $config = [])
 {
     if ($this->container->isExists($key = "db.connection.{$driver}")) {
         return $this->container->make($key, [$connection, $config]);
     }
     switch ($driver) {
         case 'mysql':
             return new Libs\MySqlConnection($connection, $config);
         case 'pgsql':
             return new Libs\PostgresConnection($connection, $config);
         case 'sqlite':
             return new Libs\SQLiteConnection($connection, $config);
         case 'sqlsrv':
             return new Libs\SqlServerConnection($connection, $config);
     }
     throw new InvalidArgumentException("Unsupported driver [{$driver}]");
 }