Interfaceの新規サポートによる問題
PHP5より、Javaと同機能の interface がサポートされたことで、interface(case sensitive)が新たに予約語とされたため、既存コードで、
i18n系関数が削除されたことによる問題
PHP5でPHP3の遺物であるi18nへのエイリアスが、削除されたため。 以下の関数を使っている場合は注意!
requireで問題なかったところがrequire_onceじゃないとエラーになる
オブジェクトの代入の扱いが変わった
PHP4まではオブジェクトのコピーはディープコピーを行っていたが、PHP5ではデフォルトでシャローコピーで行われる。 オブジェクトをディープコピーするには、cloneを使う必要がある
PHP5より、Javaと同機能の interface がサポートされたことで、interface(case sensitive)が新たに予約語とされたため、既存コードで、
class Interface { } $if = new Interface;などのように利用している場合は、文法エラーとなる。 その他、増えた予約語は、以下のコマンドでPHP定義済みクラスの一覧を出力して 確認することができます。
i18n系関数が削除されたことによる問題
PHP5でPHP3の遺物であるi18nへのエイリアスが、削除されたため。 以下の関数を使っている場合は注意!
requireで問題なかったところがrequire_onceじゃないとエラーになる
オブジェクトの代入の扱いが変わった
PHP4まではオブジェクトのコピーはディープコピーを行っていたが、PHP5ではデフォルトでシャローコピーで行われる。 オブジェクトをディープコピーするには、cloneを使う必要がある
Leave a comment