[s2container-php5:71] Re: S2Containerにおけるコンポーネント名とクラス名について
klove
klove @ sea.plala.or.jp
2007年 1月 13日 (土) 11:53:01 JST
klove です。
あけましておめでとうございます。
Yoshinari Ueyama wrote:
> コンポーネント名とクラス名が等しくても例外が発生しないように変更すること
> は可能でしょうか?
クラス名でコンポーネントをコンテナに登録する際に、コンポーネント名がクラス名と
等しいかどうか確認できると思いますので、対応を検討してみます。
ご連絡ありがとうございました。
Yoshinari Ueyama wrote:
> 植山です。みなさん、あけましておめでとうございます。
>
> S2Base.PHP5のPRADOプラグインを開発している過程で下記のようなエラーが発生
> しました。
>
> 下記のように、コンポーネント名とクラス名が等しいコンポーネントをコンテナ
> に登録すると、
> <components>
>
> <component name="Home" class="Home"/>
>
> </components>
>
> コンテナのgetComponent実行時に
> S2Container_TooManyRegistrationRuntimeExceptionが発生しました。
>
> メッセージとしては「Two or more components<Home, Home> are registered in
> Home」
> と表示されました。
>
> ソースを見ると、コンポーネント名およびクラス名をキーとして一つのMapでコ
> ンポーネント定義を
> 管理してましたので、コンポーネント名とクラス名が等しければ上記例外が発生
> する理由は理解できました。
>
> 一方Javaですと、getComponentの引数として、StringクラスとClassクラスの2
> 種類がありますので
> このような例外は発生しない気がします。(未確認)
>
> コンポーネント名とクラス名が等しくても例外が発生しないように変更すること
> は可能でしょうか?
> 対応よろしくお願いします。
>
> 以上です。
> --
> ------------------------------------------------------------------
> 植山 能成@福岡
> mailto:ueyama @ gmail.com <mailto:ueyama @ gmail.com>
> ------------------------------------------------------------------
S2Container-PHP5 メーリングリストの案内