イベントハンドラを使う
下記はViewのbeforeRenderで何かしたい場合の例。
イベント発生前にハンドラを追加すればいいので、beforeRender()でなくても可。
<?php class SampleController extends AppController { public function beforeRender() { $this->getEventManager()->attach(array($this, 'beforeRenderView'), 'View.beforeRender', array()); } /** * @param CakeEvent $e */ public function beforeRenderView($e) { echo $e->data[0]; } }
自前のイベントを呼び出したいときは
$this->getEventManager()->dispatch('SampleController.beforeRedirect');
のようにする。