[Maple-user: 213] validator,converter内でDIコンテナ内のクラスをセットする方法

Back to archive index

舛川 竜治 masuk****@nii*****
2006年 3月 8日 (水) 15:58:31 JST


舛川です。

質問なのですが、
「Validator_Required.class.php」クラス等の内部でDIコンテナに登録してあるクラスを呼び出そうとした場合、
現状、できる術がないように思えるのですがなにかありますでしょうか?
Convarterでも同様のことが言えます。

コンポーネントに一般的なクラスを配置し、他のクラスからそれらを呼び出して使用する場合、
Validatorのクラス内でも呼び出したくなるのですが・・・。
Validatorのクラスの中で直接、newすればいいのでしょうが、
既にDIコンテナ内でNewしてあるのですから、
それを使用したいです。
もちろん、DIコンテナで登録していなければ、
Validator側でエラーになりますが・・・。

また、Action内でそれらをすべて行えばできますが
チェックする部分とアクション(表示・動作)する処理を分けたいと思っております。

Validator,Convarterのクラスを書き換える手段でしたら
Actionクラスのref:XXXのような指定をValidator,Convarterでも行う必要がでてくると思うのですが
いかがでしょうか?

    「Validator,Convarterの指定方法をDIContainer2の指定のようにファイル名指定として
     指定した別ファイルにValidat(Convart)内容、Validator(Convarter)毎にDIコンテナのクラスをsetterするためのref指定」

このように考えていくと。。。そもそもValidator,Convarter、及びFilter,Actionもクラスなので
Componentの一つとなり、他のComponentを呼び出す方法を作らないといけないような気がします。
こうなっていくとMaple4系的なイメージかもしれません。

回避策でもあればお教え願えませんでしょうか?
上記のような使い方はしないっていうのもありで
お答え願いたいです。 





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