[s2container-php5:70] S2Containerにおけるコンポーネント名とクラス名について

Yoshinari Ueyama ueyama @ gmail.com
2007年 1月 11日 (木) 03:05:01 JST


植山です。みなさん、あけましておめでとうございます。

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
------------------------------------------------------------------
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://ml.seasar.org/archives/s2container-php5/attachments/20070111/eee5e93a/attachment.html 


S2Container-PHP5 メーリングリストの案内