TL;DR

  • PHP 8.4 の更新点を紹介する発表。
  • IR フレームワークを使った新しい JIT、プロパティフック、非対称可視性、遅延オブジェクト、HTML5 対応の DOM API などが入った。

内容

処理系

PHP 8.4 の公式リリースページによると、IR フレームワークに基づく新しい JIT の実装が入った。

言語機能

プロパティアクセスフックで、プロパティに get と set の処理を定義できるようになった。非対称可視性では、読み取りと書き込みの可視性を別々に決められるので、ゲッタとセッタで可視性を変えられる。遅延オブジェクト(Lazy Objects)も追加された。

#[\Deprecated] アトリビュートが追加され、ユーザ定義の関数やメソッドにも非推奨の仕組みを使えるようになった。一方、暗黙の nullable な型パラメータは非推奨になった。

標準ライブラリと拡張

HTML5 に対応した新しい DOM API が追加され、古い DOM の標準に沿っていない振る舞いも直された。PDO にはデータベースのドライバごとのサブクラスが入った。BCMath にはオブジェクトの API が追加された。

配列には array_find などの関数が追加された。

array_find($array, function (string $value) { return strlen($value) > 4; });

FrankenPHP

発表では FrankenPHP にも触れていた。

キーワード

関連