entraigas / slimdb
Slim Database,pdo的包装器
v1.2.3
2015-04-09 15:08 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-28 16:03:00 UTC
README
围绕PDO和PDO语句的轻量级数据库层。
该包的目标原本是轻量级且方便,提供基本的常用数据库功能(如选择、更新、插入和删除)。现在它更加雄心勃勃,不再那么轻量级和基本。注意:仅支持mysql和sqlite。
安装包
您可以直接从GitHub下载该包,或使用composer.json
文件进行安装
{
"require": {
"entraigas/slimdb": "v1.2.1"
}
}
数据库设置
配置是通过数组完成的。在这个例子中,有两个数据库设置
- 第一个以'portal'作为连接名称,是一个mysql数据库。
- 第二个以'admin'作为连接名称,是一个sqlite数据库。
最后,配置了一个名为'default'的连接,其值为'portal'。
//database configuration array
$portal => array(
'driver' => 'mysql',
'getPdo' => function(){
//validate PDO extensions
if (!defined('\PDO::ATTR_DRIVER_NAME')) return false; //PDO is not available
if (!extension_loaded('pdo_mysql')) return false; //pdo_mysql extension not loaded
//make connection
$pdo = new \PDO("mysql:host=127.0.0.1;port=3306;dbname=testdb", 'user', 'password');
//default connection settings
$pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
$pdo->query("SET NAMES 'utf8'");
//done, return pdo object
return $pdo;
}
);
$admin => array(
'driver' => 'sqlite',
'getPdo' => function(){
//validate PDO extensions
if (!defined('\PDO::ATTR_DRIVER_NAME')) return false; //PDO is not available
if (!extension_loaded('pdo_sqlite')) return false; //pdo_sqlite extension not loaded
//make connection
$pdo = new \PDO("sqlite:/path/to/database.db");
//default connection settings
$pdo->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
//done, return pdo object
return $pdo;
}
);
//initialize SlimDb
\SlimDb\SlimDb::configure('portal', $portal);
\SlimDb\SlimDb::configure('admin', $admin);
//set the default connection
\SlimDb\SlimDb::setDefaultConnection('portal');
该包附带了许多类。根据您要做什么,您应该使用一个而不是另一个。以下是一个列表