新機能
PHP コア
SensitiveParameter アトリビュート
バックトレースから機密情報を削除するためのアトリビュートとして、
#[\SensitiveParameter]
が追加されました。
error_log_mode INI ディレクティブ
エラーログファイルに対してパーミッションを設定できる INI ディレクティブとして、 error_log_mode が追加されました。
定数式の中で、列挙型のプロパティを取得
定数式の中で、列挙型 のプロパティを取得できるようになりました。
型システムの改善
null と false が独立した型として使えるようになりました。
true 型が追加されました。
交差型 と union型 が組み合わせて使えるようになりました。 その場合、型は DNF として記す必要があります。
トレイトで定数
トレイトの中で、定数を定義できるようになりました。
読み取り専用クラス
クラスに対して readonly を指定する機能 がサポートされました。
cURL
CURLINFO_EFFECTIVE_METHOD
オプションが追加されました。
これは、curl_getinfo() の戻り値として、
有効な HTTP メソッドの値を返します。
libcurl 7.62 から 7.80 までに追加された、 新しい複数の定数 が使えるようになりました。
接続を維持するためのチェックを行う関数として、 curl_upkeep() が追加されました。
DBA
データベースファイルを作成する際にサブディレクトリを作るかどうかを決めるフラグとして、
DBA_LMDB_USE_SUB_DIR
と
DBA_LMDB_NO_SUB_DIR
が追加されました。
これらは、LMDB ドライバで使えます。
OCI8
oci8.prefetch_lob_size INI ディレクティブと、 oci_set_prefetch_lob() が追加されました。 これらを使うと、LOB(ラージオブジェクト) を取得する際に、PHP と Oracle Database 間の通信回数を削減することで、 LOB への問い合わせのパフォーマンスチューニングを行うことができます。
OpenSSL
chacha20-poly1305 向けに AEAD のサポートが追加されました。
ODBC
新しい関数 odbc_connection_string_is_quoted(), odbc_connection_string_should_quote(), odbc_connection_string_quote() が追加されました。 これらは主に、ODBC や PDO_ODBC 拡張モジュールの裏側で使われるものです。 ただ、ユニットテストを容易にしたり、 ユーザーアプリケーションやライブラリ自体がクォートを行えるようにする目的で、 ユーザーが使える関数として公開されています。
PCRE
修飾子 n
(NO_AUTO_CAPTURE) のサポートが追加されました。
これを使うと、単純な (xyz)
形式でのグループ化ではキャプチャを行いません。
(?<name>xyz)
のような、名前付きのグループ化を使う場合にのみ、
キャプチャを行うようになります。
これによって影響を受けるのは、どのグループがキャプチャされるかだけです。
番号付きのサブパターンによる参照もまだ使えますし、
その場合マッチ結果が格納される配列には数値が含まれています。
Random 拡張モジュール
乱数生成器に関連する既存の実装を整理し、統合する新しい拡張モジュールが追加されました。 新しく、かつ優れた乱数生成器が使えるようになり、スコープの問題も解消されています。