diff options
author | Máté Bartus <mate.bartus@gmail.com> | 2016-04-13 10:11:24 +0200 |
---|---|---|
committer | Máté Bartus <mate.bartus@gmail.com> | 2016-04-13 10:11:24 +0200 |
commit | 4c257d47a6e4ddd6a5057b77c83ad78d3b8bd444 (patch) | |
tree | f8110622ff6bd52b75a3c2eb6be1fcd37cf96522 /phpBB/phpbb/di | |
parent | 560bee1be41b2c8ef37eebd4d1304e3fc03a383b (diff) | |
parent | 5754cbfec445919dd8b7f261de33d75cbdc78fdd (diff) | |
download | forums-4c257d47a6e4ddd6a5057b77c83ad78d3b8bd444.tar forums-4c257d47a6e4ddd6a5057b77c83ad78d3b8bd444.tar.gz forums-4c257d47a6e4ddd6a5057b77c83ad78d3b8bd444.tar.bz2 forums-4c257d47a6e4ddd6a5057b77c83ad78d3b8bd444.tar.xz forums-4c257d47a6e4ddd6a5057b77c83ad78d3b8bd444.zip |
Merge pull request #4236 from Nicofuma/ticket/13616
[ticket/13616] Uses symfony/proxy-manager-bridge to lazy load twig lexer
Diffstat (limited to 'phpBB/phpbb/di')
-rw-r--r-- | phpBB/phpbb/di/container_builder.php | 8 | ||||
-rw-r--r-- | phpBB/phpbb/di/extension/core.php | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/phpBB/phpbb/di/container_builder.php b/phpBB/phpbb/di/container_builder.php index b9284d04be..b6854673c2 100644 --- a/phpBB/phpbb/di/container_builder.php +++ b/phpBB/phpbb/di/container_builder.php @@ -14,6 +14,8 @@ namespace phpbb\di; use phpbb\filesystem\filesystem; +use Symfony\Bridge\ProxyManager\LazyProxy\Instantiator\RuntimeInstantiator; +use Symfony\Bridge\ProxyManager\LazyProxy\PhpDumper\ProxyDumper; use Symfony\Component\Config\ConfigCache; use Symfony\Component\Config\FileLocator; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -460,7 +462,10 @@ class container_builder { try { - $dumper = new PhpDumper($this->container); + $dumper = new PhpDumper($this->container); + $proxy_dumper = new ProxyDumper(); + $dumper->setProxyDumper($proxy_dumper); + $cached_container_dump = $dumper->dump(array( 'class' => 'phpbb_cache_container', 'base_class' => 'Symfony\\Component\\DependencyInjection\\ContainerBuilder', @@ -483,6 +488,7 @@ class container_builder protected function create_container(array $extensions) { $container = new ContainerBuilder(new ParameterBag($this->get_core_parameters())); + $container->setProxyInstantiator(new RuntimeInstantiator()); $extensions_alias = array(); diff --git a/phpBB/phpbb/di/extension/core.php b/phpBB/phpbb/di/extension/core.php index c48a80a558..29c0b0e44e 100644 --- a/phpBB/phpbb/di/extension/core.php +++ b/phpBB/phpbb/di/extension/core.php @@ -24,6 +24,8 @@ use Symfony\Component\HttpKernel\DependencyInjection\Extension; */ class core extends Extension { + const TWIG_OPTIONS_POSITION = 6; + /** * Config path * @var string @@ -71,7 +73,7 @@ class core extends Extension // Set the Twig options if defined in the environment $definition = $container->getDefinition('template.twig.environment'); - $twig_environment_options = $definition->getArgument(7); + $twig_environment_options = $definition->getArgument(static::TWIG_OPTIONS_POSITION); if ($config['twig']['debug']) { $twig_environment_options['debug'] = true; @@ -81,8 +83,8 @@ class core extends Extension $twig_environment_options['auto_reload'] = true; } - // Replace the 8th argument, the options passed to the environment - $definition->replaceArgument(7, $twig_environment_options); + // Replace the 7th argument, the options passed to the environment + $definition->replaceArgument(static::TWIG_OPTIONS_POSITION, $twig_environment_options); if ($config['twig']['enable_debug_extension']) { |