ついに PHP8.1 がリリースされました! ! !詳細については、PHP の公式発表をご覧ください: https://www.php.net/releases/8.1/en.php
PHP 8.1。 0 が利用可能になりました。リリースされたこのバージョンには、多くの改善と新機能が含まれています。
列挙型
定数のセットの代わりに列挙型を使用し、すぐに検証します。
読み取り専用プロパティ
読み取り専用プロパティは、初期化後、つまり値が割り当てられた後は変更できません。これらは、値オブジェクトとデータ転送オブジェクトをモデル化するために使用できます。
第一級の呼び出し可能な構文
これで、任意の関数への参照を取得できるようになりました。
新しいイニシャライザ
オブジェクトをデフォルトのパラメータ値、静的変数とグローバル定数、およびプロパティ パラメータとして使用できるようになりました。ネストされたプロパティを効果的に使用できるようになります。
純粋な交差型
値が複数の型制約を同時に満たす必要がある場合は、交差型を使用します。現時点では、A&B|C などの交差タイプと共用タイプを混合することはできないことに注意してください。
#Never return 型
never 型を使用して宣言された関数またはメソッドは、値を返さずにスローされることを意味します。例外 または、die()、exit()、trigger_error() などを呼び出してスクリプトの実行を終了します。最終クラス定数
最終クラス定数は、サブクラスでオーバーライドされないように宣言できます。明示的な 8 進数表現
明示的な 0o プレフィックスを使用して 8 進数を記述できるようになりました。ファイバー
ファイバーは、軽量の協調同時実行性を実装するためのプリミティブです。これらは、ジェネレーターのように、スタック内のどこからでも一時停止および再開できるコード ブロックを作成する方法です。ファイバー自体は同時実行性を提供しないため、イベント ループが依然として必要です。ただし、ブロッキング実装と非ブロッキング実装を通じて同じ API を共有することができます。ファイバーを使用すると、Promise::then() やジェネレーターベースのコルーチンで以前に見られた定型コードを取り除くことができます。ライブラリは多くの場合、Fiber を中心にさらなる抽象化を構築するため、ライブラリと直接対話する必要はありません。文字列キー配列の配列アンパックのサポート
PHP は以前、スプレッド演算子を使用した配列内のアンパックをサポートしていましたが、配列には整数キーがあります。文字列キーを使用して配列を解凍することもできるようになりました。パフォーマンスの最適化
PHP 8.1 では、次のようなパフォーマンスの変更も行われています。#JIT の改善と修正