2017 © Pedro Peláez
 

library pdo-service-provider

A PDO database service provider for Silex with the ability to nest transactions

image

cristianp6/pdo-service-provider

A PDO database service provider for Silex with the ability to nest transactions

  • Wednesday, August 26, 2015
  • by cristianp6
  • Repository
  • 1 Watchers
  • 0 Stars
  • 18 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 8 Forks
  • 0 Open issues
  • 7 Versions
  • 0 % Grown

The README.md

PdoServiceProvider

a Simple PDO service provider for Silex, (*1)

Installation

add this package to Composer dependencies configuration:, (*2)

php composer.phar require "cristianp6/pdo-silex-provider=~0.8"

Usage

  • Configure only one database

use the PdoServiceProvider silex provider :, (*3)

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'];

Transaction Usage

  • Basic example on how to use transactions

$sth = $app['pdo']->prepare( $sql ); try { $success = $app['pdo']->transaction(function() use ($sth) { return $sth->execute(); }); if($success) { //committed } else { //rollback } } catch(\PDOExecption $e) { $app['pdo']->rollBack(); $result = $e->getMessage(); }

The Versions

26/08 2015

dev-master

9999999-dev

A PDO database service provider for Silex with the ability to nest transactions

  Sources   Download

MIT

The Requires

 

The Development Requires

by Charles SANQUER

database silex pdo service provider transactions

26/08 2015

v0.8.0

0.8.0.0

A PDO database service provider for Silex with the ability to nest transactions

  Sources   Download

MIT

The Requires

 

The Development Requires

by Charles SANQUER

database silex pdo service provider transactions

05/06 2014

v0.4.0

0.4.0.0

a PDO database service provider for silex

  Sources   Download

MIT

The Requires

 

The Development Requires

by Charles SANQUER

database silex pdo service provider

04/06 2014

v0.3.1

0.3.1.0

a PDO database service provider for silex

  Sources   Download

MIT

The Requires

 

The Development Requires

by Charles SANQUER

database silex pdo service provider

03/06 2014

v0.3

0.3.0.0

a PDO database service provider for silex

  Sources   Download

MIT

The Requires

 

The Development Requires

by Charles SANQUER

database silex pdo service provider

03/06 2014

v0.2

0.2.0.0

a PDO database service provider for silex

  Sources   Download

MIT

The Requires

 

The Development Requires

by Charles SANQUER

database silex pdo service provider

04/09 2013

v0.1

0.1.0.0

a PDO database service provider for silex

  Sources   Download

MIT

The Requires

 

by Charles SANQUER

database silex pdo service provider