adrian0350 / simple-pdo-wrapper
正如其名所示,这是一个简单的PDO包装器,旨在简化/简化/美化SQL语法和PDO的使用。
1.3.0
2017-10-19 18:22 UTC
Requires
- php: >=5.0
README
SimplePDOWrapper的目的是帮助您以更少的代码处理简单的数据库操作,并按照简单的结构编写更整洁的代码。
您可以使用以下功能:
- 保存
- 更新
- 删除(带条件)
- 删除所有(不带条件)
- 查找单个
- 查找所有
- 设置数据库(动态切换)
- 通过公共变量@errors进行错误处理
依赖
PHP 版本
由于PHP PDO依赖,此类与PHP 5.0及以上版本兼容。
安装
将此库添加到您的Composer配置。在composer.json中
"require": { "adrian0350/simple-pdo-wrapper": "1.*" }
或者
如果您正在使用bash。
$ composer require adrian0350/simple-pdo-wrapper
用法
使用时,只需调用SimplePDOWrapper实例对象的方法。
<?php
require_once dirname(dirname(__FILE__)).'/src/SimplePDOWrapper.php';
$conf = array(
'database' => 'your_db_name',
'username' => 'root',
'password' => 'toor',
'host' => 'localhost'
);
$SimplePDOWrapper = new SimplePDOWrapper($conf);
选项参数
可以通过以下方式提供选项:
- 条件
>
<
>=
<=
!=
LIKE
- 更复杂的子句:
(UNIX_TIMESTAMP(calldate) + callduration) >=
- 限制
- 字段
- 排序
// For now conditions only has basic clause.
$options = array(
'conditions' => array(
'username' => 'john.doe@email.com'
),
'limit' => 10,
'fields' => array('id', 'username', 'password', 'name'),
'order' => array('id DESC')
);
保存新条目
// After saving you will receive the last saved entity.
$save = array(
'id' => 10,
'username' => 'jaime.ziga@gmail.com',
'password' => 'Dude, it\'s private…',
'name' => 'John Doe'
);
$user_saved = $SimplePDOWrapper->save('users', $save);
更新新条目
// When updating it will only return true or false.
$update = array(
'name' => 'Adrián Zúñiga'
);
$SimplePDOWrapper->update('users', $update, array(
'conditions' => array(
'id' => $user_saved['id']
)
));
findOne & findAll
这些方法总共接收3个参数,实体(表),选项(见上方)和关联(布尔值)以获取关联数组或STDClass对象。
// This findOne will return the one entity array or empty array.
$user = $SimplePDOWrapper->findOne('users', $options, $assoc = true);
// And findAll will return empty array or an array of STDClass objects.
$users = $SimplePDOWrapper->findAll('users', $options, $assoc = false);
delete & deleteAll
delete和deleteAll之间的唯一区别是delete接收带有'conditions'的选项参数。
// Options just needs compliant conditions.
$options = array(
'conditions' => array(
'id' => 666
)
);
// Boolean
$deleted = $this->SimplePDOWrapper->delete('users', $options);
// Boolean
$deleted = $this->SimplePDOWrapper->deleteAll('users');
切换数据库
就像实例化类一样。
// Switch database with setDatabase() method
// and pass credentials in $conf array.
$conf = array(
'database' => 'another_db',
'username' => 'root',
'password' => 'toor',
'host' => 'localhost'
);
// Will return boolean.
$SimplePDOWrapper->setDatabase($conf);
错误处理
由于它内部设置为处理错误,您可以这样处理它们。
// As I mentioned before update method will return a boolean value.
$updated = $SimplePDOWrapper->update('users', $update, array(
'conditions' => array(
'id' => $user_saved['id']
)
))
// Watching errors
if (!$updated || $SimplePDOWrapper->errors)
{
var_dump($SimplePDOWrapper->errors['code']);
var_dump($SimplePDOWrapper->errors['message']);
}