PHP4の履歴

PHP 5 -> 4 注意点

  • キーワードがない

abstract, clone, final, interface, implementes, private, protected, public, static, try, catch, throw, const, instanceof, __construct, __destruct

  • オブジェクトはすべてclone

なのでリファレンスを使う

function &getObject(){
}
function processObject(&$obj){
}
$localObject =& $argument;
  • メソッドチェーンできない
// PHP5
$this->hoge()->moge()
// PHP4
$e = $this->hoge();
$e->moge();
  • 多くの関数が使えない

file_put_contents, simplexml,

  • オートローダーがない
  • get_classは小文字で返す。(クラス名はcase insensitive)
  • クラス変数がない。(メソッドには静的にアクセス可能)
  • magic_quotes_gpc がデフォルトでOn。しかも実行時にOffにできない
  • selfがない
  • SimpleXMLがない

PHP 4 -> 5注意点

  • クラスは使用前に宣言する必要がある
  • リファレンス

参考


PHP4なスクリプトをPHP5へ移行する際に発生する7つの問題
http://www.1x1.jp/blog/2007/06/php_php4_to_php5.html

5 -> 4 コンバーター
http://php7.org/tools/5to4/

下位互換性のない変更点
http://www.php.net/manual/ja/migration5.incompatible.php