PHP 8.3 は 2023 年 11 月 23 日に更新されます。型付きクラス定数、json ペイロードをチェックする json_validate の新しいヘルパー関数、Randomizer クラスへのいくつかのマイナーな改善、ini 設定の読み取りなどが追加されます。
#PHP チームは、今月末に PHP の新しいマイナー バージョンをリリースする予定です。新しいバージョンには主に、いくつかを除いてエンド ユーザーにとってあまり関係のない改善と機能が含まれます。
型付きクラス定数
私たちは皆、ある時点で定数を使用します。これまで、定数の型はその値から推測されてきました。これは、クラスを継承または実装する機能によって型が変更される可能性があることも意味します。簡単に言うと、新しい機能は次のようになります。
class Foo { public int BAZ = 1; }
JSON ペイロードの検証
JSON を読み取り、変換し、書き込む必要があるほぼすべての状況で、最初に確認されること。 「テスト デコード」を実行して例外がスローされるかどうかを確認することも、無効なペイロードの場合に備えて else ブランチを設定することもできます。
ペイロードが小さい場合はこれで問題ないかもしれませんが、有効かどうかを確認するためだけに非常に大きな JSON 文字列を配列にデコードするのはエレガントではありません。さらに、メモリやパフォーマンスの問題が発生する可能性があります。
新しい json_validate 関数は、指定された文字列が有効な JSON であるかどうかを確認し、パフォーマンスとメモリ効率が向上することを約束します。以下に示すように:
json_validate(string $json, int $depth = 512, int $flags = 0): bool
さらなる改善
先ほども述べたように、次期 PHP 8.3 バージョンではさらなる改善が行われています。私は個人的にそれらが重要だとは思わないので、完全を期すためにここで言及したいと思います。
ランダマイザーの改善: ランダムな浮動小数点値の範囲の指定や文字列の長さの定義などの小さな改善。
読み取り専用リビジョン: クローン作成時に読み取り専用プロパティを再初期化できるようにします。これは特殊なケースのように思えますが、ディープ クローン作成にとっては重要である可能性があります。
#[Override] 属性: この属性はプログラマの「意図」を表現するために使用されます。本質的には、「このメソッドが親クラスから来ていることはわかっているので、それをオーバーライドしたいと思っています。もしこれが変わったら、私に知らせてください。」と言っています。 -説明的な。これまでは作成する方法がありませんでしたが、PHP で作成できるようになりました。
動的クラス定数の取得: PHP では、中括弧を使用して動的クラス プロパティを読み取ることができます。 8.3 では、定数を読み取ることもできます (絶対にやめてください)。
トレイトの静的プロパティ: 親クラスから継承された静的プロパティが再宣言されます。個人的には、これは PHP でできるすべてのことを組み合わせた邪悪なものです。なぜ?チェック。
すべての新しいリリースと同様、更新するかどうかに従うべき黄金律はありません。最新バージョンでは以前のバージョンのバグやバグが修正され、パフォーマンスと機能が向上していることが多いため、最新バージョンを使用することを強くお勧めします。
以上がPHP 8.3 の新バージョンがまもなくリリースされます: 新機能の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。