From e10c26abe59921a62d8c697ae9e36c1a547f80d9 Mon Sep 17 00:00:00 2001 From: Christian Flothmann Date: Tue, 5 Feb 2019 22:25:42 +0100 Subject: [PATCH] provide better error when doctrine/orm is missing --- DependencyInjection/Configuration.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php index 2476e4f30..f93d01be7 100644 --- a/DependencyInjection/Configuration.php +++ b/DependencyInjection/Configuration.php @@ -2,11 +2,13 @@ namespace Doctrine\Bundle\DoctrineBundle\DependencyInjection; +use Doctrine\ORM\EntityManager; use ReflectionClass; use Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition; use Symfony\Component\Config\Definition\Builder\NodeDefinition; use Symfony\Component\Config\Definition\Builder\TreeBuilder; use Symfony\Component\Config\Definition\ConfigurationInterface; +use Symfony\Component\DependencyInjection\Exception\LogicException; /** * This class contains the configuration information for the bundle @@ -307,6 +309,10 @@ private function addOrmSection(ArrayNodeDefinition $node) ->arrayNode('orm') ->beforeNormalization() ->ifTrue(static function ($v) { + if (! empty($v) && ! class_exists(EntityManager::class)) { + throw new LogicException('The doctrine/orm package is required when the doctrine.orm config is set.'); + } + return $v === null || (is_array($v) && ! array_key_exists('entity_managers', $v) && ! array_key_exists('entity_manager', $v)); }) ->then(static function ($v) {