PHP 8.4.2 Released!

その他の変更

予約語の制約の緩和

クラスやインターフェイスそしてトレイトの内部で、 プロパティや定数そしてメソッドの名前にグローバルな予約語を使えるようになりました。 これで、今後新たなキーワードが導入された場合でも下位互換性を維持しやすくなります。 そして、API の命名の制約も軽減できるでしょう。

これは、流れるようなインターフェイスを用いた内部 DSL を作る際などに便利です。

<?php
// 'new', 'private', 'for' は、これまでなら使うことができませんでした
Project::new('Project Name')->private()->for('purpose here')->with('username here');
?>

唯一の例外は class キーワードで、このキーワードを定数名として使うことはできません。 これを許してしまうと、クラス名の解決に使う構文 (ClassName::class) と衝突してしまうからです。

date.timezone に関する警告の削除

これまでのバージョンでは、INI 項目 date.timezone を設定せずに日付・時刻関連の関数を使おうとすると、警告が発生していました。 PHP 7 では、この警告は発生しなくなりました (date.timezone のデフォルトは、これまでどおり UTC です)。

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top