1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-02-25 12:33:29 +01:00

Merge branch 'develop-ascraeus' into develop

* develop-ascraeus:
  [ticket/13061] Replace the service event.subscriber_loader by a compiler pass
This commit is contained in:
Joas Schilling 2014-09-17 20:11:23 +02:00
commit dd89af7151
5 changed files with 4 additions and 57 deletions

View File

@ -159,21 +159,6 @@ services:
arguments:
- @dbal.conn
event.subscriber_loader:
class: phpbb\event\extension_subscriber_loader
arguments:
- @dispatcher
- @event.listener_collection
calls:
- [load, []]
event.listener_collection:
class: phpbb\di\service_collection
arguments:
- @service_container
tags:
- { name: service_collection, tag: event.listener }
ext.manager:
class: phpbb\extension\manager
arguments:

View File

@ -83,7 +83,6 @@ if (isset($_GET['avatar']))
// load extensions
$phpbb_extension_manager = $phpbb_container->get('ext.manager');
$phpbb_subscriber_loader = $phpbb_container->get('event.subscriber_loader');
// worst-case default
$browser = strtolower($request->header('User-Agent', 'msie 6.0'));

View File

@ -43,6 +43,5 @@ $phpbb_path_helper = $phpbb_container->get('path_helper');
// load extensions
$phpbb_extension_manager = $phpbb_container->get('ext.manager');
$phpbb_subscriber_loader = $phpbb_container->get('event.subscriber_loader');
$template = $phpbb_container->get('template');

View File

@ -15,6 +15,7 @@ namespace phpbb\di;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Dumper\PhpDumper;
use Symfony\Component\HttpKernel\DependencyInjection\RegisterListenersPass;
class container_builder
{
@ -160,11 +161,13 @@ class container_builder
if ($this->use_custom_pass)
{
// Symfony Kernel Listeners
$this->container->addCompilerPass(new \phpbb\di\pass\collection_pass());
$this->container->addCompilerPass(new RegisterListenersPass('dispatcher', 'event.listener_listener', 'event.listener'));
if ($this->use_kernel_pass)
{
$this->container->addCompilerPass(new \phpbb\di\pass\kernel_pass());
$this->container->addCompilerPass(new RegisterListenersPass('dispatcher'));
}
}

View File

@ -1,39 +0,0 @@
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\event;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
class extension_subscriber_loader
{
private $dispatcher;
private $listener_collection;
public function __construct(EventDispatcherInterface $dispatcher, \phpbb\di\service_collection $listener_collection)
{
$this->dispatcher = $dispatcher;
$this->listener_collection = $listener_collection;
}
public function load()
{
if (!empty($this->listener_collection))
{
foreach ($this->listener_collection as $listener)
{
$this->dispatcher->addSubscriber($listener);
}
}
}
}