diff --git a/config/orm.php b/config/orm.php index 56a9132bf..4112c9b56 100644 --- a/config/orm.php +++ b/config/orm.php @@ -21,6 +21,8 @@ use Doctrine\ORM\Tools\Console\Command\ClearCache\QueryCommand; use Doctrine\ORM\Tools\Console\Command\ClearCache\QueryRegionCommand; use Doctrine\ORM\Tools\Console\Command\ClearCache\ResultCommand; +use Doctrine\ORM\Tools\Console\Command\Debug\DebugEntityListenersDoctrineCommand; +use Doctrine\ORM\Tools\Console\Command\Debug\DebugEventManagerDoctrineCommand; use Doctrine\ORM\Tools\Console\Command\InfoCommand; use Doctrine\ORM\Tools\Console\Command\MappingDescribeCommand; use Doctrine\ORM\Tools\Console\Command\RunDqlCommand; @@ -245,5 +247,17 @@ ->args([ service('doctrine.orm.command.entity_manager_provider'), ]) - ->tag('console.command', ['command' => 'doctrine:schema:validate']); + ->tag('console.command', ['command' => 'doctrine:schema:validate']) + + ->set('doctrine.event_manager_debug_command', DebugEventManagerDoctrineCommand::class) + ->args([ + service('doctrine'), + ]) + ->tag('console.command', ['command' => 'doctrine:debug:event-manager']) + + ->set('doctrine.entity_listeners_debug_command', DebugEntityListenersDoctrineCommand::class) + ->args([ + service('doctrine'), + ]) + ->tag('console.command', ['command' => 'doctrine:debug:entity-listeners']); }; diff --git a/src/DependencyInjection/DoctrineExtension.php b/src/DependencyInjection/DoctrineExtension.php index 92087b024..0863109a5 100644 --- a/src/DependencyInjection/DoctrineExtension.php +++ b/src/DependencyInjection/DoctrineExtension.php @@ -35,6 +35,7 @@ use Doctrine\ORM\Mapping\MappedSuperclass; use Doctrine\ORM\Proxy\Autoloader; use Doctrine\ORM\Tools\AttachEntityListenersListener; +use Doctrine\ORM\Tools\Console\Command\Debug\DebugEventManagerDoctrineCommand; use Doctrine\ORM\UnitOfWork; use Doctrine\Persistence\Mapping\Driver\MappingDriverChain; use Doctrine\Persistence\Mapping\Driver\PHPDriver; @@ -776,6 +777,11 @@ private function ormLoad(array $config, ContainerBuilder $container): void $container->removeDefinition('doctrine.orm.entity_value_resolver.expression_language'); } + if (! class_exists(DebugEventManagerDoctrineCommand::class)) { + $container->removeDefinition('doctrine.event_manager_debug_command'); + $container->removeDefinition('doctrine.entity_listeners_debug_command'); + } + $controllerResolverDefaults = []; if (! $config['controller_resolver']['enabled']) {