bug #25082 [HttpKernel] Disable container inlining when legacy inlining has been used (nicolas-grekas)

This PR was merged into the 3.4 branch.

Discussion
----------

[HttpKernel] Disable container inlining when legacy inlining has been used

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #25059
| License       | MIT
| Doc PR        | -

Commits
-------

4a11683548 [HttpKernel] Disable container inlining when legacy inlining has been used
This commit is contained in:
Fabien Potencier 2017-11-21 18:01:35 +01:00
commit eba50edd63
2 changed files with 3 additions and 3 deletions

View File

@ -120,14 +120,14 @@ class PhpDumper extends Dumper
'namespace' => '',
'as_files' => false,
'debug' => true,
'hot_path_tag' => null,
'hot_path_tag' => 'container.hot_path',
'inline_class_loader_parameter' => 'container.dumper.inline_class_loader',
), $options);
$this->namespace = $options['namespace'];
$this->asFiles = $options['as_files'];
$this->hotPathTag = $options['hot_path_tag'];
$this->inlineRequires = $this->container->hasParameter($options['inline_class_loader_parameter']) && $this->container->getParameter($options['inline_class_loader_parameter']);
$this->inlineRequires = $options['inline_class_loader_parameter'] && $this->container->hasParameter($options['inline_class_loader_parameter']) && $this->container->getParameter($options['inline_class_loader_parameter']);
if (0 !== strpos($baseClass = $options['base_class'], '\\') && 'Container' !== $baseClass) {
$baseClass = sprintf('%s\%s', $options['namespace'] ? '\\'.$options['namespace'] : '', $baseClass);

View File

@ -818,7 +818,7 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl
'file' => $cache->getPath(),
'as_files' => true,
'debug' => $this->debug,
'hot_path_tag' => !$this->loadClassCache ? 'container.hot_path' : null,
'inline_class_loader_parameter' => !$this->loadClassCache && !class_exists(ClassCollectionLoader::class, false) ? 'container.dumper.inline_class_loader' : null,
));
$rootCode = array_pop($content);