csanquer / pdo-service-provider
a PDO database service provider for silex
Installs: 198 183
Dependents: 1
Suggesters: 0
Security: 0
Stars: 20
Watchers: 3
Forks: 8
Open Issues: 3
Requires
- silex/silex: ~1.3
- symfony/options-resolver: ~2.7
Requires (Dev)
- phpunit/phpunit: ~4.8
README
LOOKING FOR NEW MAINTAINER
a Simple PDO service provider for Silex
Installation
add this package to Composer dependencies configuration:
php composer.phar require "csanquer/pdo-service-provider=~1.0"
Usage
- Configure only one database
use the PdoServiceProvider
silex provider :
use Csanquer\Silex\PdoServiceProvider\Provider\PDOServiceProvider; use Silex\Application; $app = new Application(); $app->register( // you can customize services and options prefix with the provider first argument (default = 'pdo') new PDOServiceProvider('pdo'), array( 'pdo.server' => array( // PDO driver to use among : mysql, pgsql , oracle, mssql, sqlite, dblib 'driver' => 'mysql', 'host' => 'mysql', 'dbname' => 'rfactori', 'port' => 3306, 'user' => 'ger', 'password' => 'GER', ), // optional PDO attributes used in PDO constructor 4th argument driver_options // some PDO attributes can be used only as PDO driver_options // see http://www.php.net/manual/fr/pdo.construct.php 'pdo.options' => array( \PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'" ), // optional PDO attributes set with PDO::setAttribute // see http://www.php.net/manual/fr/pdo.setattribute.php 'pdo.attributes' => array( \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION, ), ) ); // get PDO connection $pdo = $app['pdo'];
- Configure several databases
use Csanquer\Silex\PdoServiceProvider\Provider\PdoServiceProvider; use Silex\Application; $app = new Application(); $app->register( // use custom prefix for service and options // first PDO connection new PdoServiceProvider('pdo.db1'), array( // use previous custom prefix pdo.db1 'pdo.db1.server' => array( // PDO driver to use among : mysql, pgsql , oracle, mssql, sqlite, dblib 'driver' => 'mysql', 'host' => '127.0.0.1', 'dbname' => 'db1', 'port' => 3306, 'user' => 'username', 'password' => 'password', ), // optional PDO attributes used in PDO constructor 4th argument driver_options 'pdo.db1.options' => array( \PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'" ), // optional PDO attributes set with PDO::setAttribute 'pdo.db1.attributes' => array( \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION, ), ) ); $app->register( // second PDO connection new PdoServiceProvider('pdo.db2'), array( 'pdo.db2.server' => array( 'driver' => 'sqlite', 'path' => 'var/db/db2.sqlite', ), ) ); // get PDO connections $db1Pdo = $app['pdo.db1']; $db2Pdo = $app['pdo.db2'];