sinri/sinri-database-agent

为 PHP 提供类似旧式的快速 SQL 处理器。

0.6 2017-03-22 14:37 UTC

This package is auto-updated.

Last update: 2024-09-07 06:43:45 UTC


README

Packagist Version Badge Packagist Packagist

为 PHP 提供类似旧式的快速 SQL 处理器。使用此工具包,开发者可以免于编写数据库的基本代码。

Composer

composer require sinri/sinri-database-agent

用法

  1. autoload.php 包含到您的 PHP 项目中。
  2. 声明您需要的内容以便于使用。
// PDO
use sinri\SinriDatabaseAgent\SinriPDO;
$db=new SinriPDO($params);
// MySQLi
use sinri\SinriDatabaseAgent\SinriMySQLi;
$db=new SinriMySQLi($params);
  1. 通用方法

如果以下 SQL SELECT X,Y FROM T WHERE KEY>0; 指的是这些记录

$sql="SELECT X,Y FROM T WHERE KEY>0;";

$db->getAll($sql);
// return [["X"=>"x1","Y"=>"y1"],["X"=>"x2","Y"=>"y2"]]

$db->getRow($sql);
// return ["X"=>"x1","Y"=>"y1"]

$db->getCol($sql);
// return ["x1","x2"]

$db->getOne($sql);
// return "x1"

如果您需要做一些修改。

$sql="INSERT INTO...";
$db->insert($sql);
// return the last inserted record's PK value.

$sql="UPDATE ...";// or DELETE, etc.
$db->exec($sql);
// return affected row count, or FALSE on failure.

您可能希望使用事务。

$db->beginTransaction();

// do some work

$db->inTransaction();
// return if this line is in transaction

if($has_error){
    $db->rollBack();
}else{
    $db->commit();
}

对于开发者

  • 使用代码规范 PSR2,如果已经正确安装了 phpcsphpcbf,则在提交和推送前运行 ./PSR2.sh
  • 在修改 test\config.php 设置后,运行 php test/test.php 进行单元测试。

检查

phpcs --report=full --standard=PSR2 --ignore=vendor . 
phpcs --report=summary --standard=PSR2 --ignore=vendor . 

纠正

phpcbf --report=full --standard=PSR2 --ignore=vendor .

许可

SinriDatabaseAgent 是在 MIT 许可下发布的。