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

Yusuke Hata nowel
2005年 9月 17日 (土) 00:27:13 JST


ハタです。
# またこんな時間に...orz

えと、動いてるといえば動いていますが、動く部分だけ動いてる状態です(笑
まだポーティングも完璧じゃないですし、S2Container.php5 の dao を
拡張したほうが楽だったじゃんとか思ってる今日このごろです(^^;

結局 OSC までに *動く* デモが作れなかったですが、今の状態です。
http://saury.org/s2dao.php5.tar.gz

org.seasar.php5.util を勝手に作っています。
java の ArrayList っぽいのとか
HashMap などをインタフェースに合わせたものを置いてます。
(ポーティングを楽にするためですが... ;p)

あと、
org.seasar.extension.db の中身がちょっと増えてるかもしれないです。
どこをどう弄ったことか忘れてしまいました(--;


確か klove さんは Windows で開発されているとの事で
私も会社の PC に入れてテストしてみました。
そこでは peardb など動いていた(Datasource 系は問題なかった)のですが
自宅の Linux 環境だと

Fatal error: Call to undefined method DB_Error::fetchRow()

とか出ちゃいますね...
どこが原因かまでは追っていないのですが、一応報告までに

klove <klove @ sea.plala.or.jp> wrote:
> > これは同じクラス名の衝突が起きた場合にちょっと対処が面倒になったり、他の
> > クラスがもし対象のクラスを require していた場合はどのように対処すればい
> > いのでしょう?
> 
> こちら前提として、クラス名が衝突しないことにしています。
> 実際 S2フレームワーク本体内ではクラス名の衝突がありませんでした。
> 衝突した場合は、適宜命名するつもりでした。

なるほど。
S2Container(java) 版と互換を保つためにやっているのかと思っていました。
S2Dao.php5 で衝突が起こったところは klove さんが先に書かれていた
dao 関連なので、もしかしたらこのままでも良いかもしれません。
もし今後他で起こるようなら報告していきます。

# 管理などを考えると一元管理もありですよね、
# import などがあると便利だなーとも思います ^^;

現在の状態ですと DaoMetaDataFactoryImpl などを S2Dao から
ポートしたものを使うと singletoncomponentdeployer が無いとか言われま
す...( s2container.php5.core.classes.php にあるのに...)
これらは S2Container.php5 で作成されたものを参考にしつつ修正していきま
す。

> > 開発者用ドキュメントなどはありますでしょうか?
> > Exception 関連で、 java だと
> >     super(new Object[]{hogehoge,foobar});
> > などとやっているので、 php 風に
> >     parent::__construct(array($hogehoge, $foobar));
> > とやるべきか否か...
> 
> S2本体では ↑ で実装しています。ポーティングについてまとめた
> ドキュメントはないです。ポーティングしていて、「ここ、どうしよう?」
> というのはたくさんあったのですが、ドキュメント化していないです。orz
> S2本体のポーティングでは、いろいろ迷いつつ、最終的にはほとんどが、
> 「できるだけそのまま」を意識して実装しています。
> 
> それでは、明日はよろしくお願いします。(^^;
>

では私もそういった風に書いていきますね。
「できるだけそのまま」は私も意識しながらポーティングしています。
# でも開発者用にドキュメント化したいですね

こちらこそ、よろしくお願いします。
みなさんとちゃんと合流できるように努力します ^^;

-- 
Yusuke Hata <nowel @ xole.net>
blog: http://blog.xole.net/


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