aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/di
diff options
context:
space:
mode:
authorMáté Bartus <mate.bartus@gmail.com>2016-04-13 10:11:24 +0200
committerMáté Bartus <mate.bartus@gmail.com>2016-04-13 10:11:24 +0200
commit4c257d47a6e4ddd6a5057b77c83ad78d3b8bd444 (patch)
treef8110622ff6bd52b75a3c2eb6be1fcd37cf96522 /phpBB/phpbb/di
parent560bee1be41b2c8ef37eebd4d1304e3fc03a383b (diff)
parent5754cbfec445919dd8b7f261de33d75cbdc78fdd (diff)
downloadforums-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.php8
-rw-r--r--phpBB/phpbb/di/extension/core.php8
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'])
{