質問: こんばんは。 タイトルの件ですが、cakephpで特定のイベントの実行が終了したら、別の特定のイベントを実行させたいと考えています。 理由としては、eventAで行われた内容をもとに 大量のデータの読み込みや更新などが行われる 処理を行うとした際に、その処理もeventA内に 書いてしまうと、eventAの実行が重くなってしまうためです。 そのため、eventAの処理が完了したタイミングで オブザバー的な通知の仕組みを用いて、eventBを実行させるという実装を想定しています。 しかしながら、これを行うためのcakephpの メソッドなどが探しても出てきません。 どなたかご存知の方、ご教授頂けないでしょうか。 可能でしたら、簡単なサンプルコードも添付頂けると幸いです。参考ページのURlでも結構です。 何卒よろしくお願いいたします。 function eventA(){ //例えば、ユーザが何かしらを投稿する処理 //投稿が完了したら、ユーザーに投稿が完了した //旨を通知させてeventAの処理を終える } function eventB(){ //eventAの実行が終わったタイミングで。 //例えば、SQLで大量のデータを読み込んだり //更新を行なったりする処理。 }
回答: afterFilter使ってごにょごにょするか。 ``` public function afterFilter(){ parent::afterFilter(); if($this->action == 'eventA'){ eventB(); } } ```