当前位置: 首页>>代码示例>>PHP>>正文


PHP EventManager::dispatch方法代码示例

本文整理汇总了PHP中Cake\Event\EventManager::dispatch方法的典型用法代码示例。如果您正苦于以下问题:PHP EventManager::dispatch方法的具体用法?PHP EventManager::dispatch怎么用?PHP EventManager::dispatch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Cake\Event\EventManager的用法示例。


在下文中一共展示了EventManager::dispatch方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: trigger

 /**
  * {@inheritDoc}
  */
 public function trigger(EventInterface $event)
 {
     if ($event instanceof BaseCakeEvent) {
         $this->eventManager->dispatch($event);
     }
     return $this;
 }
开发者ID:amir20202000,项目名称:penny,代码行数:10,代码来源:CakeEvmProxy.php

示例2: getLoader

 /**
  * Create the template loader.
  *
  * @return \Twig_LoaderInterface
  */
 protected function getLoader()
 {
     $event = new Event('TwigView.TwigView.loader', $this, ['loader' => new Loader()]);
     $this->eventManager->dispatch($event);
     if (isset($event->result['loader'])) {
         return $event->result['loader'];
     }
     return $event->data['loader'];
 }
开发者ID:Adnan0703,项目名称:TwigView,代码行数:14,代码来源:TwigView.php

示例3: triggerArray

 /**
  * Similar to "trigger()" but this method expects that data is given as an
  * associative array instead of function arguments.
  *
  * ### Usage:
  *
  * ```php
  * EventDispatcher::instance()->triggerArray('myEvent', [$data1, $data2]);
  * ```
  *
  * Which is equivalent to:
  *
  * ```php
  * EventDispatcher::instance()->trigger('myEvent', $data1, $data2);
  * ```
  *
  * @param array|string $eventName The event name to trigger
  * @param array $data Information to be passed to event listener
  * @return \Cake\Event\Event The event object that was triggered
  */
 public function triggerArray($eventName, array $data = [])
 {
     $event = $this->_prepareEvent($eventName, $data);
     $this->_log($event->name());
     $this->_eventManager->dispatch($event);
     return $event;
 }
开发者ID:quickapps-plugins,项目名称:cms,代码行数:27,代码来源:EventDispatcher.php

示例4: trigger

 /**
  * Triggers a Crud event by creating a new subject and filling it with $data
  * if $data is an instance of CrudSubject it will be reused as the subject
  * object for this event.
  *
  * If Event listeners return a CakeResponse object, the this method will throw an
  * exception and fill a 'response' property on it with a reference to the response
  * object.
  *
  * @param string $eventName Event name
  * @param \Crud\Event\Subject $data Event data
  * @throws Exception if any event listener return a CakeResponse object.
  * @return \Cake\Event\Event
  */
 public function trigger($eventName, Subject $data = null)
 {
     $eventName = $this->_config['eventPrefix'] . '.' . $eventName;
     $Subject = $data ?: $this->getSubject();
     $Subject->addEvent($eventName);
     if (!empty($this->_config['eventLogging'])) {
         $this->logEvent($eventName, $data);
     }
     $Event = new Event($eventName, $Subject);
     $this->_eventManager->dispatch($Event);
     if ($Event->result instanceof Response) {
         $Exception = new Exception();
         $Exception->response = $Event->result;
         throw $Exception;
     }
     return $Event;
 }
开发者ID:i3i2ain,项目名称:crud,代码行数:31,代码来源:CrudComponent.php

示例5: testDispatchWithGlobalAndLocalEvents

 /**
  * Test that events are dispatched properly when there are global and local
  * listeners at the same priority.
  *
  * @return void
  */
 public function testDispatchWithGlobalAndLocalEvents()
 {
     $listener = new CustomTestEventListener();
     EventManager::instance()->attach($listener);
     $listener2 = new EventTestListener();
     $manager = new EventManager();
     $manager->attach(array($listener2, 'listenerFunction'), 'fake.event');
     $manager->dispatch(new Event('fake.event', $this));
     $this->assertEquals(array('listenerFunction'), $listener->callStack);
     $this->assertEquals(array('listenerFunction'), $listener2->callStack);
 }
开发者ID:ripzappa0924,项目名称:carte0.0.1,代码行数:17,代码来源:EventManagerTest.php

示例6: getLoader

 /**
  * Create the template loader.
  *
  * @return \Twig_LoaderInterface
  */
 protected function getLoader()
 {
     $event = LoaderEvent::create(new Loader());
     $this->eventManager->dispatch($event);
     return $event->getResultLoader();
 }
开发者ID:mario-bros,项目名称:TwigView,代码行数:11,代码来源:TwigView.php

示例7: dispatch

 public function dispatch($event)
 {
     $this->_log[] = ['name' => $event->name(), 'subject' => $event->subject()];
     parent::dispatch($event);
 }
开发者ID:kristiyandobrev,项目名称:crud,代码行数:5,代码来源:CrudComponentTest.php

示例8: testGetDispatchedEvents

 /**
  * Test getting a list of dispatched events from the manager.
  *
  * @return void
  * @triggers my_event $this
  * @triggers my_second_event $this
  */
 public function testGetDispatchedEvents()
 {
     $eventList = new EventList();
     $event = new Event('my_event', $this);
     $event2 = new Event('my_second_event', $this);
     $manager = new EventManager();
     $manager->setEventList($eventList);
     $manager->dispatch($event);
     $manager->dispatch($event2);
     $result = $manager->getEventList();
     $this->assertInstanceOf('\\Cake\\Event\\EventList', $result);
     $this->assertCount(2, $result);
     $this->assertEquals($result[0], $event);
     $this->assertEquals($result[1], $event2);
     $manager->getEventList()->flush();
     $result = $manager->getEventList();
     $this->assertCount(0, $result);
     $manager->unsetEventList();
     $manager->dispatch($event);
     $manager->dispatch($event2);
     $result = $manager->getEventList();
     $this->assertNull($result);
 }
开发者ID:rashmi,项目名称:newrepo,代码行数:30,代码来源:EventManagerTest.php

示例9: testEventFired

 /**
  * tests assertEventFired
  *
  * @return void
  */
 public function testEventFired()
 {
     $manager = EventManager::instance();
     $manager->setEventList(new EventList());
     $manager->trackEvents(true);
     $event = new Event('my.event');
     $manager->dispatch($event);
     $this->assertEventFired('my.event');
     $manager = new EventManager();
     $manager->setEventList(new EventList());
     $manager->trackEvents(true);
     $event = new Event('my.event');
     $manager->dispatch($event);
     $this->assertEventFired('my.event', $manager);
 }
开发者ID:rashmi,项目名称:newrepo,代码行数:20,代码来源:TestCaseTest.php


注:本文中的Cake\Event\EventManager::dispatch方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。