Skip to content

Commit 16befcd

Browse files
committed
Merge branch '6.1' into 6.2
* 6.1: [DoctrineBridge] Don't reinit managers when they are proxied as ghost objects Revert "bug #46125 [FrameworkBundle] Always add CacheCollectorPass (fancyweb)"
2 parents a057029 + e5e88ba commit 16befcd

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

src/Symfony/Bridge/Doctrine/ManagerRegistry.php

+5-1
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,15 @@
1212
namespace Symfony\Bridge\Doctrine;
1313

1414
use Doctrine\Persistence\AbstractManagerRegistry;
15+
use ProxyManager\Proxy\GhostObjectInterface;
1516
use ProxyManager\Proxy\LazyLoadingInterface;
1617
use Symfony\Bridge\ProxyManager\LazyProxy\Instantiator\RuntimeInstantiator;
1718
use Symfony\Component\DependencyInjection\Container;
1819

1920
/**
2021
* References Doctrine connections and entity/document managers.
2122
*
22-
* @author Lukas Kahwe Smith <smith@pooteeweet.org>
23+
* @author Lukas Kahwe Smith <smith@pooteeweet.org>
2324
*/
2425
abstract class ManagerRegistry extends AbstractManagerRegistry
2526
{
@@ -49,6 +50,9 @@ protected function resetService($name): void
4950
if (!$manager instanceof LazyLoadingInterface) {
5051
throw new \LogicException('Resetting a non-lazy manager service is not supported. '.(interface_exists(LazyLoadingInterface::class) && class_exists(RuntimeInstantiator::class) ? sprintf('Declare the "%s" service as lazy.', $name) : 'Try running "composer require symfony/proxy-manager-bridge".'));
5152
}
53+
if ($manager instanceof GhostObjectInterface) {
54+
throw new \LogicException('Resetting a lazy-ghost-object manager service is not supported.');
55+
}
5256
$manager->setProxyInitializer(\Closure::bind(
5357
function (&$wrappedInstance, LazyLoadingInterface $manager) use ($name) {
5458
if (isset($this->aliases[$name])) {

src/Symfony/Bundle/FrameworkBundle/FrameworkBundle.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -163,12 +163,12 @@ public function build(ContainerBuilder $container)
163163
$container->addCompilerPass(new RegisterReverseContainerPass(true));
164164
$container->addCompilerPass(new RegisterReverseContainerPass(false), PassConfig::TYPE_AFTER_REMOVING);
165165
$container->addCompilerPass(new RemoveUnusedSessionMarshallingHandlerPass());
166-
$container->addCompilerPass(new CacheCollectorPass(), PassConfig::TYPE_BEFORE_REMOVING);
167166

168167
if ($container->getParameter('kernel.debug')) {
169168
$container->addCompilerPass(new AddDebugLogProcessorPass(), PassConfig::TYPE_BEFORE_OPTIMIZATION, 2);
170169
$container->addCompilerPass(new UnusedTagsPass(), PassConfig::TYPE_AFTER_REMOVING);
171170
$container->addCompilerPass(new ContainerBuilderDebugDumpPass(), PassConfig::TYPE_BEFORE_REMOVING, -255);
171+
$container->addCompilerPass(new CacheCollectorPass(), PassConfig::TYPE_BEFORE_REMOVING);
172172
}
173173
}
174174

0 commit comments

Comments
 (0)