PHP 8.5.0リリース⁠組み込みURI拡張の提供⁠パイプ演算子サポートなど

PHP開発チームは2025年11月20日、PHPの新バージョンPHP 8.5.0のリリースを発表した。

Post by @php@fosstodon.org
View on Mastodon

PHP 8.5のおもな新機能は以下の通り。

新しいURI拡張
新しくサポートされた常時利用可能なURI拡張はRFC3986およびWHATWG URL標準に準拠したURIとURLを安全に解析、正規化および変更できる。
パイプ演算子
パイプ演算子|>をサポート。⁠ネストされた呼び出し」を記述することなく関数呼び出しを連結することができ、中間変数を介さずに複数の関数に値をスムーズに渡すことができる。
Clone With
clone()関数に連想配列を渡すことでオブジェクトのクローン作成中にプロパティを更新できるようになった。
#[\NoDiscard]属性
関数に#[\NoDiscard]属性を追加すると、PHPは戻り値が使われているかどうかを確認し、使われていない場合は警告が出される。これにより重要な戻り値の利用の見逃しを防ぎ、APIの安全性が向上する。
定数式におけるクロージャとファーストクラス呼び出し可能オブジェクト
静的クロージャとファーストクラス呼び出し可能オブジェクトを定数式でも使用できるようになった。これには属性パラメータ、プロパティとパラメータのデフォルト値、および定数が含まれる。
永続的なcURL共有ハンドル
curl_share_init_persistent()によってハンドルを作成すると、PHPリクエストの終了時にハンドルが破棄されない。このため、同じ共有オプションを持つ永続的な共有ハンドルがある際に再利用可能となり、同じホストなどへの接続の際にcURLハンドルを毎回初期化するコストを回避する。
array_first()関数とarray_last()関数
array_first()array_last()はそれぞれ配列の先頭、末尾の値を返関数。配列が空の場合はnullが返る。このため??(Null合体演算子)との組み合わせが容易に。

このほかの新機能についてはChangeLogを参照。

PHP 8.5のソースコードはPHP公式サイトのダウンロードページから入手可能。またWindows版のソースとバイナリはPHP for Windowsのページから入手することができる。

おすすめ記事

記事・ニュース一覧