PHP4での$thisとPHP5での$thisは多少変更があります。
PHP4 で、$this に対する代入によって、他のオブジェクトを代入出来ていましたが、これが出来なくなりました。
class A{
var $_name;
function A($text)
{
$this->_name = $text;
}
function output()
{
echo $this->_name;
}
function copy($obj)
{
$this = $obj;
}
}
$obj1 = A("ken");
$obj1->output(); // ken が出力
$obj2 = A("ryu");
$obj2->output(); // ryu が出力
$obj1->copy($obj2);
$obj1->output(); // PHP4 では ryu が表示されるが PHP5では ken のまま。
他のクラスをそのままコピーしてしまう際に便利な機能でしたが、PHP5ではこれが使えなくなったようです。
スポンサードリンク
もどる