nanaksr/dbconn

为多个数据库提供的简单pdo mysql配置

dev-master 2017-05-07 17:10 UTC

This package is auto-updated.

Last update: 2024-09-28 22:56:39 UTC


README

Slim 3 框架 提供PDO mysql连接。

安装

通过composer

composer require nanaksr/dbconn

配置

在您的应用程序设置中创建一个会话设置的数组。

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

使用方法

您可以在应用程序容器中注入会话帮助类

$c['dbConn'] = function($c){  
    return new \nanaksr\dbconn($c->get('settings')['listdb']);
};

如果dbcon类已注入到应用程序容器中,并且可以作为对象使用,例如

$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());
});

通过容器解析

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());
    }
}