【发布时间】:2012-04-16 00:32:52
【问题描述】:
我正在构建需要具有 OOP 风格的 MySQL 查询构建器的应用程序。我希望能够仅使用 PHP 灵活地构建复杂的查询,并获得结果查询字符串以使用我自己的数据库驱动程序执行。
有谁知道一个好的 PHP 独立查询构建器?请注意,我不需要数据库驱动程序,我需要裸 MySQL 查询构建器类(最好用骆驼风格的函数和变量名编写)。
【问题讨论】:
我正在构建需要具有 OOP 风格的 MySQL 查询构建器的应用程序。我希望能够仅使用 PHP 灵活地构建复杂的查询,并获得结果查询字符串以使用我自己的数据库驱动程序执行。
有谁知道一个好的 PHP 独立查询构建器?请注意,我不需要数据库驱动程序,我需要裸 MySQL 查询构建器类(最好用骆驼风格的函数和变量名编写)。
【问题讨论】:
最后我拿了Doctrine ORM
并对其稍作修改以构建 SQL,而不是 DQL。
这很好用,它能够构建复杂的查询。
编辑: 你可以在Stingle 框架中找到我最终的稳定实现。看看 Db/QueryBuilder 插件。
【讨论】:
DSQL - Query Builder for PHP 正是您正在寻找的,没有依赖关系并且拥有 MIT 许可证:
$query = new atk4\dsql\Query();
$query ->table('employees')
->where('birth_date','1961-05-02')
->field('count(*)')
;
echo "Employees born on May 2, 1961: ".$query->getOne();
【讨论】:
PhpToolCase 库有一个独立的查询构建器工具,使用起来非常简单方便。
还有完整的加入支持:http://phptoolcase.com/guides/ptc-qb-guide.html
而且,它似乎是用骆驼风格的函数和变量名编写的:)
【讨论】:
那里有一个版本的查询生成器(LGPL 许可)。我没有使用它,但你可能想看看它,如果它适合你的目的: http://code.google.com/p/mysql-query-builder/
【讨论】: