Vendoring deprecated composer libs
This commit is contained in:
45
libs/picodb/lib/PicoDb/DriverFactory.php
Normal file
45
libs/picodb/lib/PicoDb/DriverFactory.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
namespace PicoDb;
|
||||
|
||||
use LogicException;
|
||||
use PicoDb\Driver\Mssql;
|
||||
use PicoDb\Driver\Mysql;
|
||||
use PicoDb\Driver\Postgres;
|
||||
use PicoDb\Driver\Sqlite;
|
||||
|
||||
/**
|
||||
* Class DriverFactory
|
||||
*
|
||||
* @package PicoDb
|
||||
* @author Frederic Guillot
|
||||
*/
|
||||
class DriverFactory
|
||||
{
|
||||
/**
|
||||
* Get database driver from settings or environment URL
|
||||
*
|
||||
* @access public
|
||||
* @param array $settings
|
||||
* @return Mssql|Mysql|Postgres|Sqlite
|
||||
*/
|
||||
public static function getDriver(array $settings)
|
||||
{
|
||||
if (! isset($settings['driver'])) {
|
||||
throw new LogicException('You must define a database driver');
|
||||
}
|
||||
|
||||
switch ($settings['driver']) {
|
||||
case 'sqlite':
|
||||
return new Sqlite($settings);
|
||||
case 'mssql':
|
||||
return new Mssql($settings);
|
||||
case 'mysql':
|
||||
return new Mysql($settings);
|
||||
case 'postgres':
|
||||
return new Postgres($settings);
|
||||
default:
|
||||
throw new LogicException('This database driver is not supported');
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user