Skip to content

Commit 4633eda

Browse files
Merge branch '4.3' into 4.4
* 4.3: Fix merge [DoctrineBridge] try to fix deprecations from doctrine/persistence [DI] Add support for immutable setters in CallTrait [Cache] Propagate expiry when syncing items in ChainAdapter [Routing] fix memoryleak when loading compiled routes [Translation] fix memoryleak in PhpFileLoader
2 parents 0c2714d + 5b4c8cf commit 4633eda

File tree

4 files changed

+13
-6
lines changed

4 files changed

+13
-6
lines changed

Controller/AbstractController.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111

1212
namespace Symfony\Bundle\FrameworkBundle\Controller;
1313

14-
use Doctrine\Common\Persistence\ManagerRegistry;
14+
use Doctrine\Common\Persistence\ManagerRegistry as LegacyManagerRegistry;
15+
use Doctrine\Persistence\ManagerRegistry;
1516
use Psr\Container\ContainerInterface;
1617
use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException;
1718
use Symfony\Component\DependencyInjection\ParameterBag\ContainerBagInterface;
@@ -82,7 +83,7 @@ public static function getSubscribedServices()
8283
'security.authorization_checker' => '?'.AuthorizationCheckerInterface::class,
8384
'templating' => '?'.EngineInterface::class,
8485
'twig' => '?'.Environment::class,
85-
'doctrine' => '?'.ManagerRegistry::class,
86+
'doctrine' => '?'.(interface_exists(ManagerRegistry::class) ? ManagerRegistry::class : LegacyManagerRegistry::class),
8687
'form.factory' => '?'.FormFactoryInterface::class,
8788
'security.token_storage' => '?'.TokenStorageInterface::class,
8889
'security.csrf.token_manager' => '?'.CsrfTokenManagerInterface::class,

Controller/ControllerTrait.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111

1212
namespace Symfony\Bundle\FrameworkBundle\Controller;
1313

14-
use Doctrine\Common\Persistence\ManagerRegistry;
14+
use Doctrine\Common\Persistence\ManagerRegistry as LegacyManagerRegistry;
15+
use Doctrine\Persistence\ManagerRegistry;
1516
use Psr\Container\ContainerInterface;
1617
use Psr\Link\LinkInterface;
1718
use Symfony\Component\Form\Extension\Core\Type\FormType;
@@ -337,11 +338,13 @@ protected function createFormBuilder($data = null, array $options = []): FormBui
337338
/**
338339
* Shortcut to return the Doctrine Registry service.
339340
*
341+
* @return ManagerRegistry|LegacyManagerRegistry
342+
*
340343
* @throws \LogicException If DoctrineBundle is not available
341344
*
342345
* @final
343346
*/
344-
protected function getDoctrine(): ManagerRegistry
347+
protected function getDoctrine()
345348
{
346349
if (!$this->container->has('doctrine')) {
347350
throw new \LogicException('The DoctrineBundle is not registered in your application. Try running "composer require symfony/orm-pack".');

Tests/Controller/AbstractControllerTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
namespace Symfony\Bundle\FrameworkBundle\Tests\Controller;
1313

1414
use Psr\Container\ContainerInterface;
15+
use Doctrine\Persistence\ManagerRegistry;
1516
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
1617
use Symfony\Component\DependencyInjection\Container;
1718
use Symfony\Component\DependencyInjection\ParameterBag\ContainerBag;
@@ -39,7 +40,7 @@ public function testSubscribedServices()
3940
'security.authorization_checker' => '?Symfony\\Component\\Security\\Core\\Authorization\\AuthorizationCheckerInterface',
4041
'templating' => '?Symfony\\Component\\Templating\\EngineInterface',
4142
'twig' => '?Twig\\Environment',
42-
'doctrine' => '?Doctrine\\Common\\Persistence\\ManagerRegistry',
43+
'doctrine' => interface_exists(ManagerRegistry::class) ? '?'.ManagerRegistry::class : '?Doctrine\\Common\\Persistence\\ManagerRegistry',
4344
'form.factory' => '?Symfony\\Component\\Form\\FormFactoryInterface',
4445
'parameter_bag' => '?Symfony\\Component\\DependencyInjection\\ParameterBag\\ContainerBagInterface',
4546
'message_bus' => '?Symfony\\Component\\Messenger\\MessageBusInterface',

Tests/Controller/ControllerTraitTest.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
namespace Symfony\Bundle\FrameworkBundle\Tests\Controller;
1313

14+
use Doctrine\Common\Persistence\ManagerRegistry as LegacyManagerRegistry;
15+
use Doctrine\Persistence\ManagerRegistry;
1416
use Symfony\Bundle\FrameworkBundle\Tests\TestCase;
1517
use Symfony\Component\DependencyInjection\Container;
1618
use Symfony\Component\Form\Form;
@@ -517,7 +519,7 @@ public function testCreateFormBuilder()
517519

518520
public function testGetDoctrine()
519521
{
520-
$doctrine = $this->getMockBuilder('Doctrine\Common\Persistence\ManagerRegistry')->getMock();
522+
$doctrine = $this->getMockBuilder(interface_exists(ManagerRegistry::class) ? ManagerRegistry::class : LegacyManagerRegistry::class)->getMock();
521523

522524
$container = new Container();
523525
$container->set('doctrine', $doctrine);

0 commit comments

Comments
 (0)