ssnepenthe / wpdb-engine-for-latitude
使用latitude查询构建器构建针对wpdb的查询
0.1.0
2022-07-06 21:25 UTC
Requires
- php: ^7.4 || ^8.0
- latitude/latitude: ^4.0
Requires (Dev)
- phpunit/phpunit: ^9.5
- symfony/var-dumper: ^5.4 || ^6.0
- vimeo/psalm: ^4.24
This package is auto-updated.
Last update: 2024-09-19 02:02:15 UTC
README
使用latitude查询构建器构建用于wpdb
的查询。
警告
此软件包目前正在开发中,并在v1.0版本标记之前可能不通知地进行重大更改。
这是我在探索WordPress现代化工作方式的一系列WordPress玩具之一。
正如标签所示,它应该被视为玩具。
安装
composer require ssnepenthe/wpdb-engine-for-latitude
使用方法
首先查看latitude文档。使用此软件包将与它基本相同。
以下列出了重要差异
WpdbEngine
提供给查询工厂的引擎始终应该是WpdbEngine
的实例。
use Latitude\QueryBuilder\QueryFactory; use WpdbEngineForLatitude\WpdbEngine; $factory = new QueryFactory(new WpdbEngine());
字段函数
代替Latitude\QueryBuilder\field()
函数,使用WpdbEngineForLatitude\field()
。
use function WpdbEngineForLatitude\field; $query = $factory ->select('id', 'username') ->from('users') ->where(field('id')->eq(5)) ->compile();
搜索函数
代替Latitude\QueryBuilder\search()
函数,使用WpdbEngineForLatitude\search()
。
use function WpdbEngineForLatitude\search; $query = $factory ->select() ->from('users') ->where(search('first_name')->begins('john')) ->compile();
与Wpdb一起使用
一旦编译了查询实例,应通过wpdb->prepare()
方法传递sql和params以获取最终的查询字符串。
global $wpdb; $queryString = $wpdb->prepare($query->sql(), ...$query->params());
最后,使用任何wpdb
查询方法使用它。
$result = $wpdb->get_row($queryString);
更多示例
请参阅tests/CodeReferenceExamplesTest.php
中的测试 - 该文档中已经重新实现了wpdb
代码参考页面中的示例。