当前位置: 首页 > 工具软件 > fluentpdo > 使用案例 >

mysql pdo 中文手册,FluentPDO 中文文档

贡可人
2023-12-01

FluentPDO

它是一款简洁、轻量的智能构建表连接的 SQL 生成器类库,能够为你自动创建表连接语句的数据表。

特性

提供轻松创建健壮的 query 语句接口

支持所有与 PDO 兼容的数据库系统

仅需数行代码就能构建复杂的 SELECT、INSERT、UPDATE 和 DELETE 语句

能够在所有支持代码自动补全的现代 IDE 编辑器中支持方法提示

系统要求

最新的 FluentPDO (2.x) 版本需要 PHP 7.1、7.2 或 7.3 版本及以上。v2.x 版本正在火热更新中。

历史版本(v1.x)FluentPDO 支持 PHP 5.4 到 PHP 7.1。注意:v1.x 版本不再提供维护及更新。

参考资料

安装

Composer

最完美的安装方案就是通过 Composer 依赖管理工具安装。v2.0 版本已经正式发布!推荐在项目使用 2.x 版本,如果你在项目中发现任何问题,请联系我们,我们会尽快修复。

安装仅需在 composer.json 文件添加如下代码:

"require": {

...

"envms/fluentpdo": "^2.1.0"

}

使用 composer update 更新依赖库,然就就完成安装了!

复制安装

如果你不爱使用 composer,你可以在你的 library 目录下创建 Envms/FluentPDO 文件夹,然后将本类库复制到目录中。然后在项目中添加:

require "[lib-dir]/Envms/FluentPDO/src/Query.php";

引入类库。注意:这种安装方式你需要使用自动加载程序来使用 FluentPDO 类库而不是去修改源码。

起步

创建一个 PDO 实例,然后将其作为参数注入到 FluentPDO 中。

$pdo = new PDO("mysql:dbname=fluentdb", "root");

$fluent = new \Envms\FluentPdo\Query($pdo);

然就,就可以轻松创建查询语句了:

$query = $fluent->from('comment')

->where('article.published_at > ?', $date)

->orderBy('published_at DESC')

->limit(5);

上面的代码会创建如下 SQL:

SELECT comment.*

FROM comment

LEFT JOIN article ON article.id = comment.article_id

WHERE article.published_at > ?

ORDER BY article.published_at DESC

LIMIT 5

获取查询结果集仅需遍历即可:

foreach ($query as $row) {

echo "$row[title]\n";

}

使用高阶 join 构造器

下面,先从典型的 join 语句开始:

$query = $fluent->from('article')

->leftJoin('user ON user.id = article.user_id')

->select('user.name');

代码有点长,看起来有点傻。如果你的主外键符合规范,可以简写成:

$query = $fluent->from('article')

->leftJoin('user')

->select('user.name');

好了一点,但是还没完。甚至,你可以 不写任何 join 方法:

$query = $fluent->from('article')->select('user.name');

超赞,有木有?我们仅需将要查询的外键表字段传入到查询字段中,FluentPDO 就能够为你构建出需要的 join 语句。

以上三个代码段会生成同一个 query 语句:

SELECT article.*, user.name

FROM article

LEFT JOIN user ON user.id = article.user_id

关闭连接

最后,在完成它们的查询操作后,关闭数据库连接释放资源是个好习惯:

$fluent->close();

CRUD 语句示例

select

$query = $fluent->from('article')->where('id', 1);

$query = $fluent->from('user', 1);// 使用主键查询一条记录的简写

insert

$values = array('title' => 'article 1', 'content' => 'content 1');

$query = $fluent->insertInto('article')->values($values)->execute();

$query = $fluent->insertInto('article', $values)->execute();// 简写方式

update

$set = array('published_at' => new FluentLiteral('NOW()'));

$query = $fluent->update('article')->set($set)->where('id', 1)->execute();

$query = $fluent->update('article', $set, 1)->execute();// 简写方式

delete

$query = $fluent->delteFrom('article')->where('id', 1)->execute();

$query = $fluent->deleteFrom('article', 1)->execute();// 简写方式

注意:INSERT、UPDATE 及 DELETE 语句仅在 execute 方法调用后才会执行。

阅读 [FluentPDO 主页]() 获取完全手册。

License

Free for commercial and non-commercial use under the Apache 2.0 or GPL 2.0 licenses.

本作品采用《CC 协议》,转载必须注明作者和本文链接

 类似资料: