nanaksr / dbconn
A simple pdo mysql config for multiple database
dev-master
2017-05-07 17:10 UTC
Requires
- php: ^5.3.3 || ^7.0
This package is auto-updated.
Last update: 2024-04-28 22:07:48 UTC
README
PDO mysql Connection for Slim 3 framework.
Installation
Via composer:
composer require nanaksr/dbconn
Configuration
Create an array of session settings in you application settings.
$settings = [
'settings' => [
'listdb' => [
'db1' => [
'dsn' => 'mysql:host=localhost;dbname=nama_name;charset=utf8',
'user' => 'root',
'pass' => 'yourpassword'
],
'db2' => [
'dsn' => 'mysql:host=localhost;dbname=nama_name;charset=utf8',
'user' => 'root',
'pass' => 'yourpassword'
]
]
]
];
Usage
You can inject session helper class in application container:
$c['dbConn'] = function($c){
return new \nanaksr\dbconn($c->get('settings')['listdb']);
};
if dbcon class is injected in application container and can be used as an object, i.e. like this:
$app->get('/', function (Request $request, Response $response) {
// Namespace is now picked up from settings
$db1 = $this->dbconn->pdo('db1');
$data = $db1->prepare("SELECT * FROM `mytable`");
$data->execute();
return print_r($data->fetchAll());
});
with container resolution:
class Home
{
protected $ci;
public function __construct($ci)
{
$dbConn = $ci->get('dbConn');
$this->db1 = $dbConn->pdo('db1');
}
public function __invoke(Request $request, Response $response, $args)
{
$data = $this->db1->prepare("SELECT * FROM `mytable`");
$data->execute();
return print_r($data->fetchAll());
}
}