Пример #1
0
 public function testInvoke()
 {
     $eventName = 'foo';
     $eventContext = new \stdClass();
     $eventParams = ['bar' => 'baz'];
     $event = new Event();
     $event($eventName, $eventContext, $eventParams);
     $this->assertSame($eventName, $event->getName());
     $this->assertSame($eventContext, $event->getContext());
     $this->assertSame($eventParams, $event->getParams());
 }
Пример #2
0
 /**
  * Constructor.
  *
  * @param string $name    The name of event
  * @param mixed  $context The event context
  * @param array  $params  The event parameters
  */
 public function __construct($name = null, $context = null, array $params = null)
 {
     parent::__construct($name, $context, $params);
 }
Пример #3
0
 /**
  * Creates an instance of Event and triggers it.
  *
  * To trigger an event of particular class, use the trigger() method.
  *
  * @param string $eventName The event name
  * @param object $context   Optional; the event conext
  * @param array  $params    Optional; the event parameters
  *
  * @throws \InvalidArgumentException If the specified event name is not string
  *
  * @return Event
  */
 public function __invoke($eventName, $context = null, array $params = null)
 {
     if (!is_string($eventName)) {
         throw new InvalidArgumentException(sprintf('Invalid event name provided; must be an string, "%s" received.', is_object($eventName) ? get_class($eventName) : gettype($eventName)));
     }
     $event = new Event($eventName);
     if (null !== $context) {
         $event->setContext($context);
     }
     if (null !== $params) {
         $event->setParams($params);
     }
     return $this->pullTriggers($event);
 }