aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/di/processor
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes/di/processor')
-rw-r--r--phpBB/includes/di/processor/config.php96
-rw-r--r--phpBB/includes/di/processor/ext.php47
-rw-r--r--phpBB/includes/di/processor/interface.php9
3 files changed, 91 insertions, 61 deletions
diff --git a/phpBB/includes/di/processor/config.php b/phpBB/includes/di/processor/config.php
index 1a5ec15854..22b6252a6d 100644
--- a/phpBB/includes/di/processor/config.php
+++ b/phpBB/includes/di/processor/config.php
@@ -12,51 +12,65 @@
*/
if (!defined('IN_PHPBB'))
{
- exit;
+ exit;
}
use Symfony\Component\DependencyInjection\ContainerBuilder;
+/**
+* Configure the container for phpBB's services though
+* user-defined parameters defined in the config.php file.
+*/
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)
- {
- $this->config_file = $config_file;
- $this->phpbb_root_path = $phpbb_root_path;
- $this->php_ext = $php_ext;
- }
-
- public function process(ContainerBuilder $container)
- {
- require $this->config_file;
-
- $container->setParameter('core.root_path', $this->phpbb_root_path);
- $container->setParameter('core.php_ext', $this->php_ext);
-
- $container->setParameter('core.table_prefix', $table_prefix);
- $container->setParameter('cache.driver.class', $this->fix_acm_type($acm_type));
- $container->setParameter('dbal.driver.class', 'dbal_'.$dbms);
- $container->setParameter('dbal.dbhost', $dbhost);
- $container->setParameter('dbal.dbuser', $dbuser);
- $container->setParameter('dbal.dbpasswd', $dbpasswd);
- $container->setParameter('dbal.dbname', $dbname);
- $container->setParameter('dbal.dbport', $dbport);
- $container->setParameter('dbal.new_link', defined('PHPBB_DB_NEW_LINK') && PHPBB_DB_NEW_LINK);
-
- $container->set('container', $container);
- }
-
- protected function fix_acm_type($acm_type)
- {
- if (preg_match('#^[a-z]+$#', $acm_type))
- {
- return 'phpbb_cache_driver_'.$acm_type;
- }
-
- return $acm_type;
- }
+ private $config_file;
+ private $phpbb_root_path;
+ private $php_ext;
+
+ /**
+ * Constructor.
+ *
+ * @param string $config_file The config file
+ * @param string $phpbb_root_path The root path
+ * @param string $php_ext The PHP extension
+ */
+ public function __construct($config_file, $phpbb_root_path, $php_ext)
+ {
+ $this->config_file = $config_file;
+ $this->phpbb_root_path = $phpbb_root_path;
+ $this->php_ext = $php_ext;
+ }
+
+ /**
+ * @inheritdoc
+ */
+ public function process(ContainerBuilder $container)
+ {
+ require $this->config_file;
+
+ $container->setParameter('core.root_path', $this->phpbb_root_path);
+ $container->setParameter('core.php_ext', $this->php_ext);
+
+ $container->setParameter('core.table_prefix', $table_prefix);
+ $container->setParameter('cache.driver.class', $this->fix_acm_type($acm_type));
+ $container->setParameter('dbal.driver.class', 'dbal_'.$dbms);
+ $container->setParameter('dbal.dbhost', $dbhost);
+ $container->setParameter('dbal.dbuser', $dbuser);
+ $container->setParameter('dbal.dbpasswd', $dbpasswd);
+ $container->setParameter('dbal.dbname', $dbname);
+ $container->setParameter('dbal.dbport', $dbport);
+ $container->setParameter('dbal.new_link', defined('PHPBB_DB_NEW_LINK') && PHPBB_DB_NEW_LINK);
+
+ $container->set('container', $container);
+ }
+
+ protected function fix_acm_type($acm_type)
+ {
+ if (preg_match('#^[a-z]+$#', $acm_type))
+ {
+ return 'phpbb_cache_driver_'.$acm_type;
+ }
+
+ return $acm_type;
+ }
}
diff --git a/phpBB/includes/di/processor/ext.php b/phpBB/includes/di/processor/ext.php
index 04a586a086..e69a3d73b3 100644
--- a/phpBB/includes/di/processor/ext.php
+++ b/phpBB/includes/di/processor/ext.php
@@ -12,32 +12,43 @@
*/
if (!defined('IN_PHPBB'))
{
- exit;
+ exit;
}
use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
+/**
+* Load the service configurations from all extensions into the container.
+*/
class phpbb_di_processor_ext implements phpbb_di_processor_interface
{
- private $extension_manager;
+ private $extension_manager;
- public function __construct($extension_manager)
- {
- $this->extension_manager = $extension_manager;
- }
+ /**
+ * Constructor.
+ *
+ * @param string $extension_manager The extension manager
+ */
+ public function __construct($extension_manager)
+ {
+ $this->extension_manager = $extension_manager;
+ }
- public function process(ContainerBuilder $container)
- {
- $enabled_exts = $this->extension_manager->all_enabled();
- foreach ($enabled_exts as $name => $path)
- {
- if (file_exists($path . '/config/services.yml'))
- {
- $loader = new YamlFileLoader($container, new FileLocator($path . '/config'));
- $loader->load('services.yml');
- }
- }
- }
+ /**
+ * @inheritdoc
+ */
+ public function process(ContainerBuilder $container)
+ {
+ $enabled_exts = $this->extension_manager->all_enabled();
+ foreach ($enabled_exts as $name => $path)
+ {
+ if (file_exists($path . '/config/services.yml'))
+ {
+ $loader = new YamlFileLoader($container, new FileLocator($path . '/config'));
+ $loader->load('services.yml');
+ }
+ }
+ }
}
diff --git a/phpBB/includes/di/processor/interface.php b/phpBB/includes/di/processor/interface.php
index 51bd85a076..b8563791cc 100644
--- a/phpBB/includes/di/processor/interface.php
+++ b/phpBB/includes/di/processor/interface.php
@@ -12,12 +12,17 @@
*/
if (!defined('IN_PHPBB'))
{
- exit;
+ exit;
}
use Symfony\Component\DependencyInjection\ContainerBuilder;
interface phpbb_di_processor_interface
{
- public function process(ContainerBuilder $container);
+ /**
+ * Mutate the container.
+ *
+ * @param ContainerBuilder $container The container
+ */
+ public function process(ContainerBuilder $container);
}