Skip to content

Commit b3524e3

Browse files
[DI] fix preloading script generation
1 parent 1b42902 commit b3524e3

File tree

3 files changed

+19
-0
lines changed

3 files changed

+19
-0
lines changed

HttpClientKernel.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
use Symfony\Component\Mime\Part\TextPart;
2222
use Symfony\Contracts\HttpClient\HttpClientInterface;
2323

24+
// Help opcache.preload discover always-needed symbols
25+
class_exists(ResponseHeaderBag::class);
26+
2427
/**
2528
* An implementation of a Symfony HTTP kernel using a "real" HTTP client.
2629
*

HttpKernel.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,18 @@
3333
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
3434
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
3535

36+
// Help opcache.preload discover always-needed symbols
37+
class_exists(LegacyEventDispatcherProxy::class);
38+
class_exists(ControllerArgumentsEvent::class);
39+
class_exists(ControllerEvent::class);
40+
class_exists(ExceptionEvent::class);
41+
class_exists(FinishRequestEvent::class);
42+
class_exists(RequestEvent::class);
43+
class_exists(ResponseEvent::class);
44+
class_exists(TerminateEvent::class);
45+
class_exists(ViewEvent::class);
46+
class_exists(KernelEvents::class);
47+
3648
/**
3749
* HttpKernel notifies events to convert a Request object to a Response one.
3850
*

Kernel.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@
3838
use Symfony\Component\HttpKernel\DependencyInjection\AddAnnotatedClassesToCachePass;
3939
use Symfony\Component\HttpKernel\DependencyInjection\MergeExtensionConfigurationPass;
4040

41+
// Help opcache.preload discover always-needed symbols
42+
class_exists(ConfigCache::class);
43+
4144
/**
4245
* The Kernel is the heart of the Symfony system.
4346
*
@@ -805,6 +808,7 @@ protected function dumpContainer(ConfigCache $cache, ContainerBuilder $container
805808
'as_files' => true,
806809
'debug' => $this->debug,
807810
'build_time' => $container->hasParameter('kernel.container_build_time') ? $container->getParameter('kernel.container_build_time') : time(),
811+
'preload_classes' => array_map('get_class', $this->bundles),
808812
]);
809813

810814
$rootCode = array_pop($content);

0 commit comments

Comments
 (0)