mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-30 21:40:43 +02:00
[feature/dic] Load services from extensions
PHPBB3-10739
This commit is contained in:
41
phpBB/includes/di/processor/ext.php
Normal file
41
phpBB/includes/di/processor/ext.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?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\Config\FileLocator;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
|
||||
|
||||
class phpbb_di_processor_ext implements phpbb_di_processor_interface
|
||||
{
|
||||
private $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');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user