levkopo/dbpp

此包已被弃用且不再维护。作者建议使用ppeco/dbpp包。

该库通过将查询收集到一个类中来简化数据库操作。

0.1.1 2021-05-03 10:57 UTC

This package is auto-updated.

Last update: 2021-07-07 15:00:49 UTC


README

dbpp 是一个库,通过将查询收集到一个类中来简化数据库查询。

警告!仓库已迁移至 https://github.com/PPEco/dbpp

安装

dbpp 需要 composer 和 php 8.0 或更高版本。

安装时,请在 composer 中运行此命令

composer require levkopo/dbpp

使用方法

dbpp 的主要类是 Database。从 dbpp 创建一个扩展 Database 的类。

class SimpleDatabase extends Database {

}

创建一个包含特定表所有查询的类。该类应扩展 dbpp 中的 Dao 类。

class TableDao extends Dao {

}

使用 dbpp 中的查询注解创建函数。它们可以是查询和插入。函数应调用父类的函数(IDE 可能会抛出错误,但请放心)。

class TableDao extends Dao {
    #[Query("SELECT * FROM `table`")
    public function getAll(): array|false {
        parent::getAll();
    }
    
    #[Query("SELECT * FROM `table` WHERE `id` = :id")
    public function getById(int $id){
        parent::getAll($id);
    }
    
    #[Insert("table")
    public function insert(Value $value): bool{
        parent::insert($value);
    }
}

通过类属性将 Dao 与 Database 链接。

class SimpleDatabase extends Database {
   public TableDao $table;
}

好了,最后一步。创建 PDO 对象并调用 DBPP 的静态方法:init

$pdo = new PDO(*data*);
$database = new SimpleDatabase();
DBPP::init($database, $pdo);

现在您可以调用 Database 类的方法了