robclancy/db-connector

There is no license information available for the latest version (dev-master) of this package.

Fork of illuminate/database to provide a simple package for database connection alone

dev-master / 1.0.x-dev 2013-04-11 07:53 UTC

This package is auto-updated.

Last update: 2024-03-22 03:05:23 UTC


README

This package is simply a fork of http://github.com/illuminate/database to just provide the connectors.

Build Status

Installation

Add the following to the "require" section of your composer.json file:

	"robclancy/db-connector": "1.0.x"

Basic Usage

You will need a config array, the following shows what can be used...

$config = array(

	'fetch' => PDO::FETCH_CLASS,

	// SQLite
	'database' => __DIR__.'/../database/production.sqlite',
	'prefix'   => '',

	// MySQL
	'host'      => 'localhost',
	'database'  => 'database',
	'username'  => 'root',
	'password'  => '',
	'charset'   => 'utf8',
	'collation' => 'utf8_unicode_ci',
	'prefix'    => '',

	// Postgres SQL
	'host'     => 'localhost',
	'database' => 'database',
	'username' => 'root',
	'password' => '',
	'charset'  => 'utf8',
	'prefix'   => '',
	'schema'   => 'public',

	// SQL Server
	'driver'   => 'sqlsrv',
	'host'     => 'localhost',
	'database' => 'database',
	'username' => 'root',
	'password' => '',
	'prefix'   => '',
);

And then to make your connection...

$connector = new Robbo\DbConnector\MysqlConnector;

$pdo = $connector->connect($config);

To make things a little easier and more flexible for applications that support multiple database types you can use a factory method to connect. The config stays the same however you add a driver as well. For example...

$config = array(
	'driver' 	=> 'mysql', // For other types this is 'pgsql', 'sqlite' or 'sqlsrv'
	
	'host'      => 'localhost',
	'database'  => 'database',
	'username'  => 'root',
	'password'  => '',
	'charset'   => 'utf8',
	'collation' => 'utf8_unicode_ci',
	'prefix'    => '',
);

Then use the factor like so...

 
$connector = Robbo\DbConnector\Connector::create($config); // Instance of Robbo/DbConnector/MySqlConnector
$pdo = $connector->connect($config);

// You can also have the factory connect for you by passing true as the second parameter, so...
$pdo = Robbo\DbConnector\Connector::create($config, true);