initial commit of laravel!
This commit is contained in:
58
system/db/connector.php
Normal file
58
system/db/connector.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php namespace System\DB;
|
||||
|
||||
class Connector {
|
||||
|
||||
/**
|
||||
* The PDO connection options.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public static $options = array(
|
||||
\PDO::ATTR_CASE => \PDO::CASE_LOWER,
|
||||
\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION,
|
||||
\PDO::ATTR_ORACLE_NULLS => \PDO::NULL_NATURAL,
|
||||
\PDO::ATTR_STRINGIFY_FETCHES => false,
|
||||
);
|
||||
|
||||
/**
|
||||
* Establish a PDO database connection.
|
||||
*
|
||||
* @param object $config
|
||||
* @return PDO
|
||||
*/
|
||||
public static function connect($config)
|
||||
{
|
||||
// ---------------------------------------------------
|
||||
// Establish a SQLite PDO connection.
|
||||
// ---------------------------------------------------
|
||||
if ($config->driver == 'sqlite')
|
||||
{
|
||||
return new \PDO('sqlite:'.APP_PATH.'db/'.$config->database.'.sqlite', null, null, static::$options);
|
||||
}
|
||||
// ---------------------------------------------------
|
||||
// Establish a MySQL or Postgres PDO connection.
|
||||
// ---------------------------------------------------
|
||||
elseif ($config->driver == 'mysql' or $config->driver == 'pgsql')
|
||||
{
|
||||
$connection = new \PDO($config->driver.':host='.$config->host.';dbname='.$config->database, $config->username, $config->password, static::$options);
|
||||
|
||||
// ---------------------------------------------------
|
||||
// Set the correct character set.
|
||||
// ---------------------------------------------------
|
||||
if (isset($config->charset))
|
||||
{
|
||||
$connection->prepare("SET NAMES '".$config->charset."'")->execute();
|
||||
}
|
||||
|
||||
return $connection;
|
||||
}
|
||||
// ---------------------------------------------------
|
||||
// If the driver isn't supported, bail out.
|
||||
// ---------------------------------------------------
|
||||
else
|
||||
{
|
||||
throw new \Exception('Database driver '.$config->driver.' is not supported.');
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user