[Seasar-s2dicon-php5 5] Re: S2Container.php5 について

klove klove
2005年 9月 16日 (金) 23:18:53 JST


klove です。

Yusuke Hata wrote:
> えと、S2Dao.PHP5 ですが、なんとか動きました。
> 後でソースを上げますが、その前にちょっとだけ質問があります。

もう動いてるのですか、すばらしー!
Seasar.org の方も準備完了のようですね。

> これは同じクラス名の衝突が起きた場合にちょっと対処が面倒になったり、他の
> クラスがもし対象のクラスを require していた場合はどのように対処すればい
> いのでしょう?

こちら前提として、クラス名が衝突しないことにしています。
実際 S2フレームワーク本体内ではクラス名の衝突がありませんでした。
衝突した場合は、適宜命名するつもりでした。

> 例えば S2Dao にて DaoMetaDataFactoryImpl クラスを読み込んで使うのですが
> "/org/seasar/extension/db/impl/DaoMetaDataFactoryImpl.class.php"
> で定義されているので、衝突が起こる (といっても中身はほぼ一緒なんです
> が ;)

extension/db/以下の SimpleDaoInterceptor 関連が S2Dao のクラス群と
衝突しているかと思います。こちらは S2Dao.PHP5 が登場した時点で、
S2Dao.PHP5 に移設する予定でした。なので、S2Dao.PHP5 のクラスを優先
して下さい。衝突したクラス群は、様子をみて S2本体から削除します。
(後ほど、衝突したクラス群を教えて頂きたいです。)

> 開発者用ドキュメントなどはありますでしょうか?
> Exception 関連で、 java だと
>     super(new Object[]{hogehoge,foobar});
> などとやっているので、 php 風に
>     parent::__construct(array($hogehoge, $foobar));
> とやるべきか否か...

S2本体では ↑ で実装しています。ポーティングについてまとめた
ドキュメントはないです。ポーティングしていて、「ここ、どうしよう?」
というのはたくさんあったのですが、ドキュメント化していないです。orz
S2本体のポーティングでは、いろいろ迷いつつ、最終的にはほとんどが、
「できるだけそのまま」を意識して実装しています。

それでは、明日はよろしくお願いします。(^^;



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