TAKAHASHI Kunihiko
takah****@knosp*****
2005年 10月 19日 (水) 14:13:36 JST
高橋(kunit)です。 On Wed, 19 Oct 2005 12:49:37 +0900 kazunobu ichihashi <bobch****@gmail*****> wrote: > エラーメッセージですが、ErrorListクラスを使う場合、 > ActionChain内で「アクションクラス名」で保持しています。 > > たとえば、アクションクラスBのビューでアクションクラスCへ遷移する場合、 > アクションクラスBで設定したエラーをアクションクラスCで取得するには > ActionChainクラスのgetErrorListByName()メソッドを使えばいいと思います。 > (若干小細工がいるということですね) > > 例) > class C{ > function execute() > { > $container =& DIContainerFactory::getContainer(); > $actionChain =& $container->getComponent("ActionChain"); > $errorListOfActionB=&$actionChain->getErrorListByName("ActionB"); > } > > 間違ってたらフォローお願いします。 > 間違ってないです。ErrorListがそれぞれのActionにぶら下がっていて それをこの記述方法でアクションチェインした後にとれるってのは これまたコアをしっかり読んだ人しかしらないテクニックになりますね。 (ドキュメント不足・・・) ちなみにContainerを取得しなくても以下のようにすればちょっとだけ 楽できますよ。(ま、DIContainerFactoryをいちいち使わないで済む というだけで、行数はふえますが・・・) --- Class C --- class C { var $actionChain; function execute() { $errorListOfActionB =& $this->actionChain->getErrorListByName("ActionB"); } function setActionChain(&$actionChain) { $this->actionChain =& $actionChain; } } --- maple.ini --- [Action] actionChain = ref: ActionChain ---- --- TAKAHASHI Kunihiko KNOSPEAR Inc.