備忘録

アクセスカウンタ

zoom RSS phpのディストラクタ

<<   作成日時 : 2009/03/17 20:18   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

phpのディストラクタが思ったように動いていなかった。

$obj =null;
if($boo) {
$obj = new A($str);
} else {
$obj = new B($str);
}

$obj->const = "aaa";

みたいなソースなら、$obj->const = "aaa";の後に
ディストラクタが走ると思っていたが、
$obj->const = "aaa";
が反映されていない。

ディストラクタ内でログを入れたら、
$obj = new A($str);
の後のifのスコープが終わったらディストラクタが実行している。

当然、以下のようにすると、

$obj = new A($str);
$obj->const = "aaa";

$obj->const = "aaa";の後でディストラクタが実行している。

$obj =null;
をフィールドに変えても同じでifのスコープが終わったらディストラクタが実行している。

大事なことかもしれないけど、
急いでいるので、調べるのをあきらめて、
ソースを変えた。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
phpのディストラクタ 備忘録/BIGLOBEウェブリブログ
文字サイズ:       閉じる