PHP4 と PHP5 の違い

PHP5 の入門書を読んだので、PHP5 からさかのぼって PHP4 についてちょっとだけ勉強。
http://www.atmarkit.co.jp/flinux/special/php5/php5a.html
http://www.atmarkit.co.jp/flinux/special/php5/php5b.html
オブジェクト指向の機能など PHP5 で追加された機能はあるけど、PHP4と比べて、下位互換性がなくなっているところで一番大きいのは、オブジェクトの入っている変数の代入文で
$var2 = $var1;
とすると、PHP4 では値渡し、PHP5 では参照渡しになっているところ。
PHP5 で値渡しにしたい場合は __clone() というメソッドを呼ぶ
$var2 = $var1->__clone();
PHP4 で、参照渡しにしたい場合は
$var2 =& $var1;

Java と挙動が同じになるようになったけど、これって影響大きすぎない・・・と思ったら
zend.ze1_compatibility_mode = On にすると、上記のPHP5 での挙動が PHP4 と同じになるらしい
http://itpro.nikkeibp.co.jp/members/ITPro/oss/20040401/1/
しかし、これを使うと PHP4 でも PHP5 でもない代物になりそう。

その他の下位互換性のない変更点(そうそう、この情報が欲しかった)
http://www.php.net/manual/ja/migration5.incompatible.php

PHP6 では UNICODE 対応らしい
http://itpro.nikkeibp.co.jp/article/COLUMN/20050917/221333/?ST=itpro_print
http://itpro.nikkeibp.co.jp/article/COLUMN/20050917/221333/?SS=imgview&FD=2638409
やっぱり、おじさんにはこのスピードにはついていけないかも・・・

この記事へのコメント


この記事へのトラックバック

そろそろPHP5への移行に関して一言いっとくか
Excerpt: 初期のPHP5にはいくつものバグがあり、安定度も低かったため、PHP4からの移行がなかなか進みませんでした。 「PHP4とPHP5では全く互換性がない」 「PHP5はバグだらけだ」 「PHP5は動作..
Weblog: [Z]ZAPAブロ〜グ2.0
Tracked: 2007-05-21 16:11