1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-08-06 08:47:45 +02:00

[feature/event-dispatcher] Change phpbb_event_dispatcher to inheritance, tests

PHPBB3-9550
This commit is contained in:
Igor Wiedler
2012-03-24 15:45:18 +01:00
parent 935a4abb7e
commit 400277c036
4 changed files with 72 additions and 89 deletions

View File

@@ -0,0 +1,42 @@
<?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\EventDispatcher\EventDispatcher;
/**
* Extension of the Symfony2 EventDispatcher
*
* It provides an additional `trigger_event` method, which
* gives some syntactic sugar for dispatching events. Instead
* of creating the event object, the method will do that for
* you.
*
* Example:
*
* $vars = array('page_title');
* extract($phpbb_dispatcher->trigger_event('core.index', compact($vars)));
*
*/
class phpbb_event_dispatcher extends EventDispatcher
{
public function trigger_event($eventName, $data = array())
{
$event = new phpbb_event_data($data);
$this->dispatch($eventName, $event);
return $event->get_data_filtered(array_keys($data));
}
}