aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIgor Wiedler <igor@wiedler.ch>2012-07-21 20:42:07 +0200
committerIgor Wiedler <igor@wiedler.ch>2012-07-21 20:42:07 +0200
commit967cc550ed9bb74480f46212768502627f26d62d (patch)
tree4762429e0110b6d4ad5eb07da67f680e2fabcbec
parent40af25115baf10d367516857f69e3f9807c1ae41 (diff)
downloadforums-967cc550ed9bb74480f46212768502627f26d62d.tar
forums-967cc550ed9bb74480f46212768502627f26d62d.tar.gz
forums-967cc550ed9bb74480f46212768502627f26d62d.tar.bz2
forums-967cc550ed9bb74480f46212768502627f26d62d.tar.xz
forums-967cc550ed9bb74480f46212768502627f26d62d.zip
[feature/dic] Introduce DI processors instead of abusing compiler passes
PHPBB3-10739
-rw-r--r--phpBB/common.php8
-rw-r--r--phpBB/download/file.php8
-rw-r--r--phpBB/includes/di/processor/config.php (renamed from phpBB/includes/di/compiler/config_pass.php)5
-rw-r--r--phpBB/includes/di/processor/interface.php23
-rw-r--r--phpBB/install/index.php8
5 files changed, 38 insertions, 14 deletions
diff --git a/phpBB/common.php b/phpBB/common.php
index e7dabec4ca..406d8bb093 100644
--- a/phpBB/common.php
+++ b/phpBB/common.php
@@ -77,7 +77,8 @@ if (!empty($load_extensions) && function_exists('dl'))
// Include files
require($phpbb_root_path . 'includes/class_loader.' . $phpEx);
-require($phpbb_root_path . 'includes/di/compiler/config_pass.' . $phpEx);
+require($phpbb_root_path . 'includes/di/processor/interface.' . $phpEx);
+require($phpbb_root_path . 'includes/di/processor/config.' . $phpEx);
require($phpbb_root_path . 'includes/functions.' . $phpEx);
require($phpbb_root_path . 'includes/functions_content.' . $phpEx);
@@ -94,9 +95,8 @@ $phpbb_container = new ContainerBuilder();
$loader = new YamlFileLoader($phpbb_container, new FileLocator(__DIR__.'/config'));
$loader->load('services.yml');
-$phpbb_compiler = new Compiler();
-$phpbb_compiler->addPass(new phpbb_di_compiler_config_pass($phpbb_root_path . 'config.' . $phpEx, $phpbb_root_path, $phpEx));
-$phpbb_compiler->compile($phpbb_container);
+$processor = new phpbb_di_processor_config($phpbb_root_path . 'config.' . $phpEx, $phpbb_root_path, $phpEx);
+$processor->process($phpbb_container);
// Setup class loader first
$phpbb_class_loader = $phpbb_container->get('class_loader');
diff --git a/phpBB/download/file.php b/phpBB/download/file.php
index d4960dad0d..d8fec8ef94 100644
--- a/phpBB/download/file.php
+++ b/phpBB/download/file.php
@@ -43,7 +43,8 @@ if (isset($_GET['avatar']))
}
require($phpbb_root_path . 'includes/class_loader.' . $phpEx);
- require($phpbb_root_path . 'includes/di/compiler/config_pass.' . $phpEx);
+ require($phpbb_root_path . 'includes/di/processor/interface.' . $phpEx);
+ require($phpbb_root_path . 'includes/di/processor/config.' . $phpEx);
require($phpbb_root_path . 'includes/db/' . $dbms . '.' . $phpEx);
require($phpbb_root_path . 'includes/constants.' . $phpEx);
@@ -55,9 +56,8 @@ if (isset($_GET['avatar']))
$loader = new YamlFileLoader($phpbb_container, new FileLocator(__DIR__.'/../config'));
$loader->load('services.yml');
- $phpbb_compiler = new Compiler();
- $phpbb_compiler->addPass(new phpbb_di_compiler_config_pass($phpbb_root_path . 'config.' . $phpEx, $phpbb_root_path, $phpEx));
- $phpbb_compiler->compile($phpbb_container);
+ $processor = new phpbb_di_processor_config($phpbb_root_path . 'config.' . $phpEx, $phpbb_root_path, $phpEx);
+ $processor->process($phpbb_container);
$phpbb_class_loader = $phpbb_container->get('class_loader');
$phpbb_class_loader_ext = $phpbb_container->get('class_loader.ext');
diff --git a/phpBB/includes/di/compiler/config_pass.php b/phpBB/includes/di/processor/config.php
index 0234ab4ebf..d9f866992e 100644
--- a/phpBB/includes/di/compiler/config_pass.php
+++ b/phpBB/includes/di/processor/config.php
@@ -15,12 +15,13 @@ if (!defined('IN_PHPBB'))
exit;
}
-use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
-class phpbb_di_compiler_config_pass implements CompilerPassInterface
+class phpbb_di_processor_config implements phpbb_di_processor_interface
{
private $config_file;
+ private $phpbb_root_path;
+ private $php_ext;
public function __construct($config_file, $phpbb_root_path, $php_ext)
{
diff --git a/phpBB/includes/di/processor/interface.php b/phpBB/includes/di/processor/interface.php
new file mode 100644
index 0000000000..51bd85a076
--- /dev/null
+++ b/phpBB/includes/di/processor/interface.php
@@ -0,0 +1,23 @@
+<?php
+/**
+*
+* @package phpBB3
+* @copyright (c) 2012 phpBB Group
+* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
+*
+*/
+
+/**
+* @ignore
+*/
+if (!defined('IN_PHPBB'))
+{
+ exit;
+}
+
+use Symfony\Component\DependencyInjection\ContainerBuilder;
+
+interface phpbb_di_processor_interface
+{
+ public function process(ContainerBuilder $container);
+}
diff --git a/phpBB/install/index.php b/phpBB/install/index.php
index 3e14b719e8..0e298c8cdc 100644
--- a/phpBB/install/index.php
+++ b/phpBB/install/index.php
@@ -76,7 +76,8 @@ else
// Include essential scripts
require($phpbb_root_path . 'includes/class_loader.' . $phpEx);
-require($phpbb_root_path . 'includes/di/compiler/config_pass.' . $phpEx);
+require($phpbb_root_path . 'includes/di/processor/interface.' . $phpEx);
+require($phpbb_root_path . 'includes/di/processor/config.' . $phpEx);
require($phpbb_root_path . 'includes/functions.' . $phpEx);
@@ -90,9 +91,8 @@ $phpbb_container = new ContainerBuilder();
$loader = new YamlFileLoader($phpbb_container, new FileLocator(__DIR__.'/../config'));
$loader->load('services.yml');
-$phpbb_compiler = new Compiler();
-$phpbb_compiler->addPass(new phpbb_di_compiler_config_pass($phpbb_root_path . 'config.' . $phpEx, $phpbb_root_path, $phpEx));
-$phpbb_compiler->compile($phpbb_container);
+$processor = new phpbb_di_processor_config($phpbb_root_path . 'config.' . $phpEx, $phpbb_root_path, $phpEx);
+$processor->process($phpbb_container);
$phpbb_container->setAlias('cache.driver.install', 'cache.driver');