|
|
@@ -29,6 +29,13 @@ trait EventManagerTrait {
|
|
|
protected $_eventManager = null;
|
|
|
|
|
|
/**
|
|
|
+ * Default class name for new event objects.
|
|
|
+ *
|
|
|
+ * @var string
|
|
|
+ */
|
|
|
+ protected $_eventClass = '\Cake\Event\Event';
|
|
|
+
|
|
|
+/**
|
|
|
* Returns the Cake\Event\EventManager manager instance for this object.
|
|
|
*
|
|
|
* You can use this instance to register any new listeners or callbacks to the
|
|
|
@@ -46,4 +53,29 @@ trait EventManagerTrait {
|
|
|
return $this->_eventManager;
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * Wrapper for creating and dispatching events.
|
|
|
+ *
|
|
|
+ * Returns a dispatched event.
|
|
|
+ *
|
|
|
+ * @param string $name Name of the event.
|
|
|
+ * @param array $data Any value you wish to be transported with this event to
|
|
|
+ * it can be read by listeners.
|
|
|
+ *
|
|
|
+ * @param object $subject The object that this event applies to
|
|
|
+ * ($this by default).
|
|
|
+ *
|
|
|
+ * @return \Cake\Event\Event
|
|
|
+ */
|
|
|
+ public function dispatchEvent($name, $data = null, $subject = null) {
|
|
|
+ if ($subject === null) {
|
|
|
+ $subject = $this;
|
|
|
+ }
|
|
|
+
|
|
|
+ $event = new $this->_eventClass($name, $subject, $data);
|
|
|
+ $this->eventManager()->dispatch($event);
|
|
|
+
|
|
|
+ return $event;
|
|
|
+ }
|
|
|
+
|
|
|
}
|