[s2container-php5:94] Re: s2dao.php5 +コメントアノテーションでMethod XXXX does not exist
Yusuke Hata
[E-MAIL ADDRESS DELETED]
2007年 4月 29日 (日) 03:08:17 JST
ハタです。
遅くなりました。
件については、 [s2container-php5:86]で行った際の修正部分です。
現在trunkのマニュアルを更新している途中なのですが、__autoloadを追記するとともに
S2Dao_AbstractAnnotationReaderを1.1.1まで戻そうと思います。
影響範囲は特に無いと思います。
主に、autoloadを使っている部分が、class_existsでクラスを探しにいく際に
正しく検査を行ってくれることを期待するだけです。
こちらの修正は、他のものと含め次のリリースで修正される予定です。
以上です。
On Sat, 28 Apr 2007 14:58:25 +0900
SHIMOOKA Hideyuki <[E-MAIL ADDRESS DELETED]> wrote:
> 下岡です。
>
> ---- kloveさん曰く...
>
> >klove です。
> >はじめまして。
>
> こんにちは。はじめまして :-)
>
>
> >SHIMOOKA Hideyuki さんは書きました:
> >> s2dao.php5のexamplesにあるコメントアノテーションのサンプルを
> >> 試していますが、
> >> ReflectionException: Method content does not exist in ...
> >> となってしまいます。
> (snip)
> >s2dao.php5-1.1.2/examples/s2dao_comment/example.inc.php に
> >S2CONTAINER_ANNOTATION_READER 定数を定義すると cd_select1.php
> >が実行できることを確認しました。
> >
> >example.inc.php
> >-------------------------------------------
> >・・・
> >define('S2DAO_PHP5_USE_COMMENT', true);
> >define('S2CONTAINER_ANNOTATION_READER','S2DaoAnnotationReader');
> >・・・
> >-------------------------------------------
>
> ありがとうございます。
> こちらでも上記で動作することを確認しました。
>
>
> >また、s2daoをバージョン1.1.1では問題なく実行できました。
>
> これも確認しました。正しく動作しています。
>
> とりあえず、定数を追加することで進めていこうと思います。
>
>
> >バージョン1.1.2での変更が関係しているようです。
>
> ちょっとだけソースを追ってみましたが、1.1.1と1.1.2のdiffを
> 取ってみると
>
> ----ここから
>
> $ diff s2dao.php5-1.1.1/S2Dao/s2dao.core.classes.php \
> S2Dao.PHP5-1.1.2/S2Dao/s2dao.core.classes.php
> 750,751c750,751
> < if (strcasecmp($propName, $timestampPropertyName) == 0)
> { < $this->setTimestamp(time());
> ---
> > if (strcasecmp($propName, $timestampPropertyName) ===
> > 0) { $this->setTimestamp(date('Y-m-d H:i:s', time()));
> 753c753
> < } else if (strcmp($propName, $versionNoPropertyName) ==
> 0) { ---
> > } else if (strcmp($propName, $versionNoPropertyName)
> > === 0) {
> 1158c1158
> < if(class_exists('S2Container_AnnotationContainer')){
> ---
> > if(class_exists('S2Container_AnnotationContainer', false)){
>
> ----ここまで
>
> S2Dao_AbstractAnnotationReader#setCommentAnnotationHandler
> にあるclass_existsの引数にfalse(autoloadしない)が追加されて
> いたので、trueもしくは引数を削除すると期待する動作をしました。
>
> #他への影響範囲は分かりませんが。。。
>
>
> --
> SHIMOOKA Hideyuki
> _______________________________________________
> S2Container-PHP5 mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/s2container-php5
--
Yusuke Hata <[E-MAIL ADDRESS DELETED]>
blog: http://blog.xole.net/
S2Container-PHP5 メーリングリストの案内