diff options
| author | Igor Wiedler <igor@wiedler.ch> | 2012-07-21 21:02:55 +0200 |
|---|---|---|
| committer | Igor Wiedler <igor@wiedler.ch> | 2012-07-21 21:02:55 +0200 |
| commit | 50bc453aa6c91ae9c9df5cb633615825c9df7b6d (patch) | |
| tree | ea051a18c77e7d4ee637f40af648f9ae5598fd4d /phpBB/includes/di/processor/ext.php | |
| parent | 967cc550ed9bb74480f46212768502627f26d62d (diff) | |
| download | forums-50bc453aa6c91ae9c9df5cb633615825c9df7b6d.tar forums-50bc453aa6c91ae9c9df5cb633615825c9df7b6d.tar.gz forums-50bc453aa6c91ae9c9df5cb633615825c9df7b6d.tar.bz2 forums-50bc453aa6c91ae9c9df5cb633615825c9df7b6d.tar.xz forums-50bc453aa6c91ae9c9df5cb633615825c9df7b6d.zip | |
[feature/dic] Load services from extensions
PHPBB3-10739
Diffstat (limited to 'phpBB/includes/di/processor/ext.php')
| -rw-r--r-- | phpBB/includes/di/processor/ext.php | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/phpBB/includes/di/processor/ext.php b/phpBB/includes/di/processor/ext.php new file mode 100644 index 0000000000..b39ba5e686 --- /dev/null +++ b/phpBB/includes/di/processor/ext.php @@ -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'); + } + } + } +} |
