本文整理汇总了PHP中EventManager::attach方法的典型用法代码示例。如果您正苦于以下问题:PHP EventManager::attach方法的具体用法?PHP EventManager::attach怎么用?PHP EventManager::attach使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EventManager
的用法示例。
在下文中一共展示了EventManager::attach方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: attach
public function attach($name, $callback, $priority = 0)
{
$this->events->insert(array($name, $callback), $priority);
}
public function trigger($name, $params = array(), $callback = null)
{
foreach ($this->events as $event) {
if ($event[0] = $name) {
$e = new Event($name, $params);
if ($r = $event[1]($e)) {
if (is_callable($callback)) {
$callback($r);
}
}
}
}
}
}
$events = new EventManager();
$events->attach('do', function ($e) {
echo "Registered first\n";
return "Hello SALAM";
}, 102);
$events->attach('do', function ($e) {
echo "Registered second\n";
return time();
}, 101);
$return = $events->trigger('do', array('a', 'b', 'c'), function ($r) {
echo "<h1>{$r}</h1>\n";
});
echo "<h1>{$return}</h1>";
示例2: attach
}
class EventManager
{
private $events = array();
public function attach($name, $callback)
{
$this->events[$name][] = $callback;
}
public function trigger($name, $params = array())
{
foreach ($this->events[$name] as $event => $callback) {
$e = new Event($name, $params);
$callback($e);
}
}
}
$events = new EventManager();
$events->attach('do', function ($e) {
echo $e->getName() . "\n";
print_r($e->getParams());
});
$hello = ['a' => 'qwerty', 'b' => time()];
$events->attach('do', function ($e) use($hello) {
echo "<br/> Second Chance";
echo $e->getName() . "\n";
print_r($e->getParams());
print_r($hello);
return array(time());
});
echo "<hr/>";
echo $events->trigger('do', array('a', 'b', 'c'));