dispatch() public static method

命名規則に従ったイベント名で、イベントをディスパッチする
public static dispatch ( string $name, Object $subject, array $params = [], array $options = [] ) : boolean | CakeEvent
$name string
$subject Object
$params array
$options array
return boolean | CakeEvent
Example #1
0
 /**
  * イベントを発火
  * 
  * @param string $name
  * @param array $params
  * @return mixed
  */
 public function dispatchEvent($name, $params = array(), $options = array())
 {
     $options = array_merge(array('modParams' => 0, 'plugin' => $this->plugin, 'layer' => 'Model', 'class' => $this->name), $options);
     App::uses('BcEventDispatcher', 'Event');
     return BcEventDispatcher::dispatch($name, $this, $params, $options);
 }
Example #2
0
 /**
  * イベントを発火
  * 
  * @param string $name
  * @param array $params
  * @return mixed
  */
 public function dispatchEvent($name, $params = array(), $options = array())
 {
     $options = array_merge(array('modParams' => 0, 'plugin' => $this->plugin, 'layer' => 'Helper', 'class' => str_replace('Helper', '', get_class($this))), $options);
     App::uses('BcEventDispatcher', 'Event');
     return BcEventDispatcher::dispatch($name, $this->_View, $params, $options);
 }
Example #3
0
 /**
  * イベントを発火
  * 
  * @param string $name
  * @param array $params
  * @return mixed
  */
 public function dispatchEvent($name, $params = array(), $options = array())
 {
     // CakeEmailより呼び出される場合、AppViewを直接呼び出す為、$this->nameに値が入らない。
     // その際、View.beforeRenderをループで呼び出してしまうので、イベントを実行しない。
     if (!$this->name) {
         return false;
     }
     $options = array_merge(array('modParams' => 0, 'plugin' => $this->plugin, 'layer' => 'View', 'class' => $this->name), $options);
     App::uses('BcEventDispatcher', 'Event');
     return BcEventDispatcher::dispatch($name, $this, $params, $options);
 }