namibia
df0489e1eeeeab5a9bd44e1d84fce49924fe1bac
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
<?php namespace Utility; /** * Simple event handler. * @author andre.fourie * */ class Event { /** * @var array */ static protected $listener = array(); /** * Register an event listener. * @param string $eventName * @param object|string $class * @param string $action */ static public function listen($eventName, $class, $action) { !isset(self::$listener[$eventName]) && self::$listener[$eventName] = array(); self::$listener[$eventName][] = array( 'Class' => $class, 'Action' => $action ); } /** * Trigger an event. * @param string $eventName * @param unknown|null $data */ static public function trigger($eventName, $data = null) { if (!isset(self::$listener[$eventName])) { return; } foreach (self::$listener[$eventName] as $listener) { $obj = is_object($listener['Class']) ? $listener['Class'] : new $listener['Class'](); $action = $listener['Action']; $obj->$action($eventName, $data); } } } |
Commits for namibiamodule/Utility/src/Utility/Event.php
Revision | Author | Commited | Message |
---|---|---|---|
df0489 ... | Mark | Fri 14 Oct, 2016 10:01:00 +0000 | initial commit |