Action Chain
2006/03/04 | mojavi2
「Action Chain」は複数のアクションの結果を組み合わせて表示させたりするときに使用する(他にも使い方があるかもしれない)。
基本的にactionからでもviewからでも呼び出せるが、actionから呼び出したほうが簡単っぽい(いろいろやったけど自前のライブラリの絡みのせいか、viewの中で上手く呼び出すことができなかった)。
使い方はこんな感じ。
$actChain=new ActionChain();
$actChain->setPreserve(true);
$actChain->register(‘myChain’,’callModule’,’callAction’,array());
$actChain->execute($controller, $request, $user);
$myChain=$actChain->fetchResult(‘myChain’);
$request->setAttribute(‘myChainBody’,$myChain);
setPreserve(true)はちょっとしたおまじない。
registerで「チェーンの名前」「呼び出すモジュール」「呼び出すアクション」「アクションに与える引数」により、Action Chainに登録。
executeで登録したアクションを実行。
fetchResultでアクションの実行結果を取得。
ただいろいろと工夫は必要です。