tenolo / doctrine-walker-bundle
此包添加了一个基于事件的SQL输出遍历器。
dev-master / 1.0.x-dev
2019-07-22 08:37 UTC
Requires
- php: ^7.2
- doctrine/common: ^2.6
- doctrine/dbal: ^2.5
- doctrine/doctrine-bundle: ^1.6
- doctrine/orm: ^2.5
- symfony/config: ^3.4|^4.0
- symfony/dependency-injection: ^3.4|^4.0
- symfony/doctrine-bridge: ^3.4|^4.0
- symfony/event-dispatcher: ^3.4|^4.0
- symfony/framework-bundle: ^3.4|^4.0
- symfony/http-kernel: ^3.4|^4.0
- symfony/yaml: ^3.4|^4.0
Requires (Dev)
- phpunit/phpunit: ^7.5
- squizlabs/php_codesniffer: ^3.4
This package is auto-updated.
Last update: 2024-09-22 19:23:02 UTC
README
Doctrine Walker Bundle
一个用于在 Doctrine 中添加事件驱动的 SQL 遍历器的 Symfony Bundle。
安装说明
首先,您需要在 composer.json
中添加 tenolo/doctrine-walker-bundle
{ "require": { "tenolo/doctrine-walker-bundle": "~1.0" } }
或者直接执行 composer require tenolo/doctrine-walker-bundle
请注意,dev-master
是最新开发版本。当然,您也可以使用显式的版本号,例如,1.0.*
。
如何使用
只需注册一些事件。
<?php namespace Some\Namespace; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Tenolo\Bundle\DoctrineWalkerBundle\Event\SqlWalkerEvent; /** * Class ExampleWalkerListener */ class ExampleWalkerListener implements EventSubscriberInterface { /** * @inheritDoc */ public static function getSubscribedEvents() { return [ SqlWalkerEvent::FROM_CLAUSE => 'walkFromClause', ]; } /** * @param SqlWalkerEvent $event */ public function walkFromClause(SqlWalkerEvent $event): void { $sql = $event->getSql(); $em = $event->getEntityManager(); $conn = $event->getConnection(); $query = $event->getQuery(); // manipulate sql $sql = 'NONSENSE'; $event->setSql($sql); } }