'PHP 8.0 は、PHP 言語のメジャーアップデートです。このアップデートには、たくさんの新機能や最適化が含まれています。たとえば名前付き引数、union 型、アトリビュート、コンストラクタでのプロパティのプロモーション、match 式、 nullsafe 演算子、JIT、型システムの改善、エラーハンドリング、一貫性の向上などです。', 'documentation' => 'Doc', 'main_title' => 'Released!', 'main_subtitle' => 'PHP 8.0 は、PHP 言語のメジャーアップデートです。
このアップデートには、たくさんの新機能や最適化が含まれています。たとえば 名前付き引数、 union 型、アトリビュート、コンストラクタでのプロパティのプロモーション、match 式、nullsafe 演算子、JIT、型システムの改善、エラーハンドリング、一貫性の向上などです。', 'upgrade_now' => 'PHP 8 にアップデートしよう!', 'named_arguments_title' => '名前付き引数', 'named_arguments_description' => '
  • 必須の引数だけを指定し、オプションの引数はスキップしています。
  • 引数の順番に依存せず、自己文書化(self-documented)されています。
  • ', 'attributes_title' => 'アトリビュート', 'attributes_description' => 'PHPDoc のアノテーションの代わりに、PHP ネイティブの文法で構造化されたメタデータを扱えるようになりました。', 'constructor_promotion_title' => 'コンストラクタでの、プロパティのプロモーション', 'constructor_promotion_description' => 'ボイラープレートのコードを減らすため、コンストラクタでプロパティを定義し、初期化します。', 'union_types_title' => 'Union 型', 'union_types_description' => 'PHPDoc のアノテーションを使って型を組み合わせる代わりに、実行時に検証が行われる union型 をネイティブで使えるようになりました。', 'match_expression_title' => 'Match 式', 'match_expression_description' => '

    matchswitch 文に似ていますが、以下の機能があります:

    ', 'nullsafe_operator_title' => 'Nullsafe 演算子', 'nullsafe_operator_description' => 'null チェックの条件を追加する代わりに、nullsafe演算子 を使って呼び出しをチェインさせられるようになりました。呼び出しチェインのひとつが失敗すると、チェインの実行全体が停止し、null と評価されます。', 'saner_string_number_comparisons_title' => '数値と文字列の比較', 'saner_string_number_comparisons_description' => '数値形式の文字列と比較する場合は、PHP 8 は数値として比較を行います。それ以外の場合は、数値を文字列に変換し、文字列として比較を行います。', 'consistent_internal_function_type_errors_title' => '内部関数の型に関するエラーが一貫したものに', 'consistent_internal_function_type_errors_description' => 'ほとんどの内部関数は、引数の検証に失敗すると Error 例外をスローするようになりました。', 'jit_compilation_title' => 'JIT (ジャストインタイム) コンパイル', 'jit_compilation_description' => 'PHP 8 は JITコンパイル のエンジンをふたつ搭載しています。トレーシングJITは、もっとも有望なふたつの人工的なベンチマークで、約3倍のパフォーマンスを示しました。また、長期間動いている特定のあるアプリケーションでは、1.5-2倍のパフォーマンス向上が見られました。典型的なアプリケーションのパフォーマンスは、PHP 7.4 と同等でした。', 'jit_performance_title' => 'PHP 8 のパフォーマンスに対するJITの貢献', 'type_improvements_title' => '型システムとエラーハンドリングの改善', 'arithmetic_operator_type_checks' => '算術/ビット演算子のより厳密な型チェック', 'abstract_trait_method_validation' => 'トレイトの抽象メソッドの検証', 'magic_method_signatures' => 'マジックメソッドのシグネチャ', 'engine_warnings' => 'エンジンの警告を整理', 'lsp_errors' => '互換性のないメソッドシグネチャは fatal error に。', 'at_operator_no_longer_silences_fatal_errors' => '@ 演算子は、致命的なエラーを隠さなくなりました。', 'inheritance_private_methods' => 'private メソッドの継承時のシグネチャチェック', 'mixed_type' => 'mixed 型のサポート', 'static_return_type' => '戻り値で static 型をサポート', 'internal_function_types' => '内部関数に型アノテーション', 'email_thread' => 'Email thread', 'opaque_objects_instead_of_resources' => '一部の拡張機能が、リソースからオブジェクトに移行: Curl, Gd, Sockets, OpenSSL, XMLWriter, XML', 'other_improvements_title' => 'その他文法の調整や改善', 'allow_trailing_comma' => '引数やクロージャーのuseリストの最後にカンマがつけられるように RFC RFC', 'non_capturing_catches' => 'catch で例外のキャプチャが不要に', 'variable_syntax_tweaks' => '変数の文法の調整', 'namespaced_names_as_token' => '名前空間の名前を単一のトークンとして扱う', 'throw_expression' => 'throw は式になりました', 'class_name_literal_on_object' => 'オブジェクトに対して ::class が使えるように', 'new_classes_title' => '新しいクラス、インターフェイス、関数', 'weak_map_class' => 'Weak Map クラス', 'stringable_interface' => 'Stringable インターフェイス', 'token_as_object' => 'token_get_all() をオブジェクトベースで実装', 'new_dom_apis' => 'New DOM Traversal and Manipulation APIs', 'footer_title' => 'パフォーマンスの向上、より良い文法、型システムの改善', 'footer_description' => '

    PHP 8 のソースコードのダウンロードは、 downloads のページをどうぞ。 Windows 用のバイナリは PHP for Windows のページにあります。 変更の一覧は ChangeLog にあります。

    移行ガイド が PHP マニュアルで利用できます。 新機能や下位互換性のない変更の詳細については、移行ガイドを参照して下さい。

    ', ];