ようこそ!逆襲のニートブログへ

ブログ内検索

最近の記事

はてなブックマーク数

この日記のはてなブックマーク数

カテゴリー

月別アーカイブ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PHP4からPHP5への移行 ~ 下位互換性のない変更点

PHP 4 から PHP 5 への移行

下位互換性のない変更点

多くの既存の PHP 4 のコードは変更無しで動作するはずですが、 以下の下位互換性がない変更点について注意する必要があります。



strrpos() と strripos() は、 needle として文字列全体を使用するようになりました。



array_merge() は、配列のみを指定できるよう 変更されました。配列以外の変数を指定した場合は、各パラメータ毎に E_WARNING が発生します。あなたのコードで 突然 E_WARNING が発生し始める可能性が あるため注意してください。



プロパティを持たないオブジェクトはもはや"空"とはみなされません。



クラスを使用する前に宣言する必要がある場合もあります。 これは、PHP 5 の新機能 (たとえば interfaces など) を使用する場合にのみ生じます。 その他の場合の動作は従来と同じです。



読み込まれるファイルの中で関数が宣言されている場合、それが return() の前もしくは後のどちらにあるかにかかわらず、 メインファイルの中でその関数を使用可能です。 このファイルが二度読み込まれると、関数が既に宣言済みであるため、 PHP 5 は致命的なエラーを発生します。一方、PHP 4 ではエラーを発生しません。 ファイルが読み込み済であるかどうかを調べて 読みこまれたファ入ルの内容を条件分岐でかえすのではなく、 include_once() を使用することを推奨します。



Windows上で、 include_once() と require_once() は、まず、読みこまれるファイルのパスを正規化します。 これにより、A.php と a.php を読みこむ場合でもファイルは一度だけ読みこまれます。



PHP4からPHP5への移行のポイント
http://www.thinkit.co.jp/free/marugoto/1/6/1/1.html

●array_merge()関数の仕様が変更
●strrpos()関数とstrripos()関数
●PHP5ではオブジェクト周りの実装が大きく変わりました。
関連記事

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURL:
http://gooddays1.blog37.fc2.com/tb.php/71-1845ff9b

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。