その他の変更

予約語の制約の緩和

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

User Contributed Notes 1 note

up
0
Nicole Ama
8 years ago
Using "continue" outside of a loop or switch context throws a fatal error. Use "return" instead, if it makes sense to. Probably should have used return to begin with, but it never threw an error as of PHP 5.2. Not sure about later php 5.x versions.
To Top