BcEventDispatcher::dispatch PHP Method

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
    public static function dispatch($name, $subject, $params = array(), $options = array())
    {
        $options = array_merge(array('modParams' => 0, 'layer' => '', 'plugin' => $subject->plugin, 'class' => $subject->name), $options);
        extract($options);
        if ($layer && !preg_match('/^' . $layer . './', $name)) {
            $evnetName = $layer;
            if ($plugin) {
                $evnetName .= '.' . $plugin;
            }
            if ($class) {
                $evnetName .= '.' . $class;
            }
            $evnetName .= '.' . $name;
        }
        $EventManager = CakeEventManager::instance();
        if (!$EventManager->listeners($evnetName)) {
            return false;
        }
        $event = new CakeEvent($evnetName, $subject, $params);
        $event->modParams = $modParams;
        $EventManager->dispatch($event);
        return $event;
    }

Usage Example

Ejemplo n.º 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);
 }
All Usage Examples Of BcEventDispatcher::dispatch
BcEventDispatcher