另一个PDO包装器

1.0.6 2020-04-30 15:12 UTC

This package is auto-updated.

Last update: 2024-09-29 05:02:04 UTC


README

Tabusoft/DB 是一个用于 PDO/MySQL 的数据库包装器。

  • 它就像 PDO 一样简单
  • 简化数组值的用法
  • 可通过工厂类和配置进行配置

安装

您可以使用 composer 安装它

$ composer require tabusoft/db

使用

DB 的直接实例。

您可以直接将数组传递给查询以绑定 ? 参数。

<?php
$db = new \Tabusoft\DB\DB("localhost", 'db-name', 'username', 'password');
$qres = $db->query("SELECT *
                        FROM table 
                        WHERE c1 = ? 
                            OR c2 IN (?) 
                            OR c3 = ?", 
                    [
                        1, //c1
                        [3,4,5], //c2 parameter extends the placeholder as array
                        1 //c3
                    ] );

echo PHP_EOL."Found: ".$qres->rowCount().PHP_EOL;

foreach($qres as $r){
    dump($r);
}

与工厂类一起使用

<?php 
$config = new \Tabusoft\DB\DBFactoryConfig("localhost", 'db-name', 'username', 'password');

$db = \Tabusoft\DB\DBFactory::getInstance($config);

查询事件

您可以添加查询事件。执行前和执行后

class Event implements \Tabusoft\DB\DBEventsQueryInterface
{
    public function __invoke(DB $db, $sql, array $infos)
    {
        dump($infos);
    }
}

$db = \Tabusoft\DB\DBFactory::getInstance($config);
$db->addEvent(new Event(), DB::EVENT_PRE_QUERY);
$db->addEvent(new Event(), DB::EVENT_POST_QUERY);