PHP 8.3がリリース - Typed Class ConstantsやOverrideアトリビュートなど新機能盛りだくさん

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

S 20231124 110240

PHP開発チームは11月23日、「PHP 8.3.0」の正式版をリリースしました(Phoronix)。PHP 8.3.0はPHPのメジャーバージョンアップ版として多数の新機能や改良が行われています。

Typed Class Constantsにより、クラス定数、インターフェイス定数、trait定数、enum定数が型宣言をサポートするようになり、C::{$name}構文を使用して、クラス定数に動的にアクセスできるようになりました。匿名クラスを読み取り専用としてマークできるようになる機能や、親クラスまたは実装されたインターフェイスにメソッドが存在するかどうかをチェックする #[\Override]属性の追加も行われています。

主な変更点は以下の通りです。

  • Class constants can now be accessed dynamically with a new syntax addition.
  • Implementing more appropriate date/time exceptions.
  • Adding a json_validate() function for validating JSON.
  • Implementing the #[\Override] attribute RFC to check that a method exists in a parent class or implemented interface.
  • Updating the Zip extension and adding new set/get archive flag methods.
  • The PHP POSIX support added posix_sysconf, posix_pathconf, posix_fpathconf, and posix_eaccess functions.
  • A number of new PHP Sockets options.
  • New features for the Randomizer class.
  • Adding support for newer cURL options and constants up through cURL 7.87.
  • Various new DOM methods added for DOM nodes and elements.
  • Support for rounding negative places within the number_format() function.
  • Support for zend_call_stack_get on OpenBSD platforms.
  • Support for linting multiple files at once using the php -l option.
  • Support for negative indices in arrays.
  • upport for anonymous read-only classes.
  • Support for typed class constants with class, interface, trait, and enum constants now supporting type declarations.
  • Closures created from magic methods can now accept named arguments.
  • The PHP CLI now supports linting multiple files.
  • Implementing the STREAM_NOTIFY_COMPLETED notification for PHP streams.
  • Many bug fixes and other improvements.

新機能の詳細はChangeLogで確認可能です。最新版はphp.netからダウンロードすることができます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次