本文整理汇总了PHP中Zend\EventManager\EventManager::detach方法的典型用法代码示例。如果您正苦于以下问题:PHP EventManager::detach方法的具体用法?PHP EventManager::detach怎么用?PHP EventManager::detach使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend\EventManager\EventManager
的用法示例。
在下文中一共展示了EventManager::detach方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testListenerAttached
public function testListenerAttached()
{
$events = new EventManager();
$events->attach($this->listener);
$listeners = $events->getListeners(MvcEvent::EVENT_DISPATCH_ERROR);
$this->assertEquals(1, count($listeners));
$listeners = $events->getListeners(MvcEvent::EVENT_RENDER_ERROR);
$this->assertEquals(1, count($listeners));
$events->detach($this->listener);
$listeners = $events->getListeners(MvcEvent::EVENT_DISPATCH_ERROR);
$this->assertEquals(0, count($listeners));
$listeners = $events->getListeners(MvcEvent::EVENT_RENDER_ERROR);
$this->assertEquals(0, count($listeners));
}
示例2: removeListener
/**
* {@inheritDoc}
*/
public function removeListener($eventName, $listener)
{
$listeners = $this->eventManager->getListeners($eventName);
foreach ($listeners as $callbackHanler) {
$callback = $callbackHanler->getCallback();
if (is_array($callback)) {
if (is_array($listener)) {
if ($callback[0] === $listener[0] && $callback[1] === $listener[1]) {
return $this->eventManager->detach($callbackHanler);
}
} else {
continue;
}
}
if ($callback === $listener) {
return $this->eventManager->detach($callbackHanler);
}
}
return true;
}
示例3: index08Action
public function index08Action()
{
$eventManagerOne = new \Zend\EventManager\EventManager();
$listener1 = $eventManagerOne->attach("eventOne", function ($e) {
echo "<h3 style='color:red;font-weight:bold'>eventManagerOne - eventOne - Do 1</h3>";
$e->stopPropagation(true);
});
$listener2 = $eventManagerOne->attach("eventOne", function ($e) {
echo "<h3 style='color:red;font-weight:bold'>eventManagerOne - eventOne - Do 2</h3>";
});
$listener3 = $eventManagerOne->attach("eventOne", function ($e) {
echo "<h3 style='color:red;font-weight:bold'>eventManagerOne - eventOne - Do 3</h3>";
});
$eventManagerOne->detach($listener1);
$eventManagerOne->trigger("eventOne");
return false;
}
示例4: testAttachAndDetachListener
public function testAttachAndDetachListener()
{
$events = new EventManager();
$events->attach($this->listener);
$listeners = $events->getListeners(MvcEvent::EVENT_FINISH);
$this->assertEquals(1, count($listeners));
$events->detach($this->listener);
$listeners = $events->getListeners(MvcEvent::EVENT_FINISH);
$this->assertEquals(0, count($listeners));
}