Php/docs/migration53.new-features

提供:Dev Guides
< Php
移動先:案内検索

新機能

PHP 5.3.0 には多くの新機能が含まれています。

  • 名前空間 のサポートが追加されました。
  • 遅延静的束縛 のサポートが追加されました。
  • ジャンプラベル (制限付きgoto) のサポートが追加されました。
  • ネイティブクロージャ (ラムダ/無名関数) のサポートが追加されました。
  • マジックメソッドが二つ追加されています。 __callStatic()__invoke() です。
  • Nowdoc 構文がサポートされました。これは ヒアドキュメント のように動作しますが、シングルクォートで囲まれた文字列として扱われます。
  • ヒアドキュメント 構文は、静的な クラスプロパティ/定数 を初期化できるようになりました。
  • ヒアドキュメント 構文は、ダブルクォートを使って宣言できるようになりました。これは Nowdoc 構文を補完するものです。
  • 定数 はクラスの外でも const キーワードを使って宣言できるようになりました。
  • 三項演算子 の短縮形式として ?: が使えます。
  • HTTPストリームラッパー は、200 から 399 までのステータスコードを成功したものとみなすようになりました。
  • 静的なメソッドに動的にアクセスできるようになりました。

    <?phpclass C {   public static $foo = 123;}$a = "C";echo $a::$foo;?>

    上の例の出力は以下となります。

    123
  • 例外 をネストできるようになりました。

    <?phpclass MyCustomException extends Exception {}try {    throw new MyCustomException("Exceptional", 112);} catch (Exception $e) {    /* 三番目のパラメータとして、$e を     * RuntimeException に渡しています */    throw new RuntimeException("Rethrowing", 911, $e);}?>

  • 循環参照用のガベージコレクタが追加され、デフォルトで有効になりました。
  • mail() 関数が送信メールのログを記録できるようになりました (注意: この関数を使って送信されたメールのみが対象です)。