[Maple-user: 108] Re: [personal] Re: Validate結果による動きの指定

Back to archive index

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.




Maple-user メーリングリストの案内
Back to archive index