rulerz-php / doctrine-dbal
RulerZ的Doctrine DBAL编译目标
dev-master
2020-07-28 19:34 UTC
Requires
- php: >=7.1
- doctrine/dbal: ^2.4
- kphoen/rulerz: dev-master as 1.0.0
Requires (Dev)
- behat/behat: ~3.0
- kphoen/rusty: dev-master
- liip/rmt: ^1.2
- phpunit/phpunit: ^7.1
This package is auto-updated.
Last update: 2024-08-29 04:37:22 UTC
README
为RulerZ提供的Doctrine DBAL编译目标。
用法
Doctrine DBAL是RulerZ支持的目标之一。
本说明将展示如何使用Doctrine DBAL和RulerZ检索记录。
以下是您需要执行的步骤摘要
配置Doctrine DBAL
这个主题不会在这里直接处理。您可以遵循官方文档,或者使用您所使用的框架推荐的包/模块/等等。
配置RulerZ
一旦安装并配置了Doctrine DBAL,我们就可以配置RulerZ引擎
$rulerz = new RulerZ( $compiler, [ new \RulerZ\DoctrineDBAL\Target\DoctrineDBAL(), // this line is Doctrine DBAL-specific // other compilation targets... ] );
与Doctrine DBAL相关的唯一配置是将DoctrineDBAL
目标添加到已知编译目标列表中。
过滤目标
现在,DBAL和RulerZ都已就绪,您可以使用它们来检索数据。
我们之前注入到RulerZ引擎中的DoctrineDBAL
实例只知道如何使用Doctrine\DBAL\Query\QueryBuilder
,因此第一步是创建一个并对其进行配置
$connection = DriverManager::getConnection([/** connection parameters */]); $queryBuilder = $connection->createQueryBuilder(); $queryBuilder ->select('pseudo', 'gender', 'points') ->from('players');
像往常一样,我们使用目标(QueryBuilder
对象)和规则调用RulerZ。RulerZ将为给定的目标构建正确的执行器,并使用它来过滤数据,在我们的案例中是从数据库中检索数据。
$rule = 'gender = :gender and points > :points'; $parameters = [ 'points' => 30, 'gender' => 'M', ]; var_dump( iterator_to_array($rulerz->filter($queryBuilder, $rule, $parameters)) );
这就完成了!
许可证
本库受MIT许可证的约束。