[PHP-users 19797]Re: set_error_handlerにオブジェクトのメソッドを定義するときについて
ISIGE, Akira
xia @ silvia.com
2004年 1月 9日 (金) 10:04:24 JST
いしげ です.
On 2004/01/09 9:49:58 JST,
"k.watanabe" <k.watanabe @ spclink.com> wrote:
> エラーハンドラの定義では、オブジェクトを参照で渡しているので
> newしたインスタンスの参照が使われると思っていたのですが、
> エラーハンドラで定義したオブジェクトと、実際にnewしたときのオブジェクトは、
> 別のオブジェクトということなのでしょうか?
そういうことだと思います.
> http://www.php.net/manual/ja/language.oop.newref.php
マニュアル↑にある通り,new 演算子はデフォルトではコピーを返しますので,
コンストラクタ内での $this が指していたインスタンスではなく,
別の,コピーされたインスタンスが $error に入るわけですね.
よって,ここをコピーでなく参照で渡すように,
<?php
$error =& new Error();
?>
という代入の仕方をすればうまくいくと思います.
ていうか,手元の環境では,うまくいきました.
--
ISIGE, Akira
PHP-users メーリングリストの案内