diff options
author | Igor Wiedler <igor@wiedler.ch> | 2012-07-21 20:42:07 +0200 |
---|---|---|
committer | Igor Wiedler <igor@wiedler.ch> | 2012-07-21 20:42:07 +0200 |
commit | 967cc550ed9bb74480f46212768502627f26d62d (patch) | |
tree | 4762429e0110b6d4ad5eb07da67f680e2fabcbec | |
parent | 40af25115baf10d367516857f69e3f9807c1ae41 (diff) | |
download | forums-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.php | 8 | ||||
-rw-r--r-- | phpBB/download/file.php | 8 | ||||
-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.php | 23 | ||||
-rw-r--r-- | phpBB/install/index.php | 8 |
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'); |