古い PHP を使うときに問題となりそうな箇所

2015年10月28日 PHP 5.5 を追記

PHP 5.4 → 5.5

  • ジェネレータが追加されました。 yield キーワードで利用します。
  • try-catch ブロックで finally が使えるようになりました。
  • 新しいパスワードハッシュ API
  • foreach で list() を使って、ネストした配列を個別の変数に展開できるようになりました。
  • empty() が変数以外の任意の式に対応
  • array リテラルと string リテラルデリファレンス
  • ::class によるクラス名の解決
  • foreach が非スカラーのキーに対応
  • DateTimeImmutable クラスの追加
  • GD の改良

PHP 5.3 → 5.4

  • トレイトのサポート
  • 配列の短縮構文

PHP 5.3.8 → 5.3.9

PHP 5.2 → 5.3

  • 名前空間 のサポートが追加されました。
  • 遅延静的束縛 のサポートが追加されました。
  • ネイティブクロージャ (ラムダ/無名関数) のサポートが追加されました。
  • json_encode() - options が追加されました。
  • json_decode() - depth が追加されました。
  • DateTime::add(), diff(), sub() など追加
  • class DateInterval, DatePeriol 追加
  • SQLite3 モジュール (class SQLite3)
  • 定数 __DIR__

PHP 5.1 → 5.2

  • SplFileObject::getFilename() は、PHP 5.2.1 以降ではファイルへの相対パスではなくファイル名のみを返すようになりました。
  • __toString() が、適切な場面で常にコールされるようになりました。
  • 拡張モジュール JSON
  • クラス DateTime, DateTimeZone