Example #1
0
 public function testSuggestingPreventActionWithMessage()
 {
     $event = new Event('test.event1', array());
     $this->registry->register('test.event1', function (Event $event) {
         $event->preventAction(true, 'Reason why should prevent.');
     });
     $event->trigger($this->registry);
     $this->assertTrue($event->shouldPreventAction());
     $this->assertEquals('Reason why should prevent.', $event->preventActionMessage());
 }
Example #2
0
 public function testEventPriority()
 {
     // lower priority
     $lowPriority = function (Event $event) {
         EventManagerTest::$order[] = 3;
     };
     $highPriority = function (Event $event) {
         EventManagerTest::$order[] = 1;
     };
     $alsoHighPriority = function (Event $event) {
         EventManagerTest::$order[] = 2;
     };
     EventManager::register('test.event1', $lowPriority, EventRegistry::PRIORITY_LOW);
     EventManager::register('test.event1', $highPriority, EventRegistry::PRIORITY_HIGH);
     EventManager::register('test.event1', $alsoHighPriority, EventRegistry::PRIORITY_HIGH);
     $event = new Event('test.event1');
     $event->trigger();
     $this->assertEquals(array(1, 2, 3), static::$order);
 }
<?php

use Zumba\Symbiosis\Event\Event;
// Somewhere in your app, trigger plugins listening to event
$event = new Event('sample.someevent', array('ping' => 'pong'));
$event->trigger();