/** * Ensure that something will be handled * * @param string $event * @param callable $listener * @return mixed */ function ensure($event, callable $listener = null) { if ($listener) { on($event, $listener, 0); } // register default listener if ($listeners = listeners($event)) { return call_user_func_array(end($listeners), array_slice(func_get_args(), 2)); } }
/** * Returns a list of all registered shortcodes. * * @return array */ protected static function _list() { if (empty(static::$_listeners)) { $manager = EventDispatcher::instance('Shortcode')->eventManager(); static::$_listeners = listeners($manager); } return static::$_listeners; }
/** * Pass variable with all filters. * * @param $event * @param null $value * @return mixed|null */ function filter($event, $value = null) { $args = func_get_args(); $event = array_shift($args); foreach ((array) listeners($event) as $listener) { $args[0] = $value; $value = call_user_func_array($listener, $args); } return $value; }