新機能

PHP コア

SensitiveParameter アトリビュート

バックトレースから機密情報を削除するためのアトリビュートとして、 #[\SensitiveParameter] が追加されました。

error_log_mode INI ディレクティブ

エラーログファイルに対してパーミッションを設定できる INI ディレクティブとして、 error_log_mode が追加されました。

定数式の中で、列挙型のプロパティを取得

定数式の中で、列挙型 のプロパティを取得できるようになりました。

型システムの改善

nullfalse が独立した型として使えるようになりました。

true 型が追加されました。

交差型 と union型 が組み合わせて使えるようになりました。 その場合、型は DNF として記す必要があります。

トレイトで定数

トレイトの中で、定数を定義できるようになりました。

読み取り専用クラス

クラスに対して readonly を指定する機能 がサポートされました。

cURL

CURLINFO_EFFECTIVE_METHOD オプションが追加されました。 これは、curl_getinfo の戻り値として、 有効な HTTP メソッドの値を返します。

libcurl 7.62 から 7.80 までに追加された、 新しい複数の定数 が使えるようになりました。

接続を維持するためのチェックを行う関数として、 curl_upkeep が追加されました。

DBA

データベースファイルを作成する際にサブディレクトリを作るかどうかを決めるフラグとして、 DBA_LMDB_USE_SUB_DIRDBA_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 拡張モジュール

乱数生成器に関連する既存の実装を整理し、統合する新しい拡張モジュールが追加されました。 新しく、かつ優れた乱数生成器が使えるようになり、スコープの問題も解消されています。