新機能
- クラス定数に対する型宣言‥‥クラス、インターフェイス、トレイト、そして列挙型の定数は、新たに型宣言をサポートする。
- readonly機能の修正‥‥無名クラスも、readonly としてマークできるようになった。読み取り専用プロパティは、clone している間に再初期化できるようになった。
- クラス定数への動的なアクセス構文‥‥クラス定数は、C::{$name} という構文で動的にアクセスできるようになった。
- マジックメソッドで作ったクロージャ‥‥マジックメソッドで作ったクロージャは、名前付き引数を受け入れるようになった。
- トレイトのメソッドに対する final 指定‥‥トレイトからメソッドを使う場合に、そのメソッドに対して final を指定できるようになった。
- static 変数の初期化‥‥static 変数を初期化する際に、任意の式が使えるようになった。
- INI 変数に対するデフォルト値指定‥‥iniファイル内で、デフォルト値を指定する文法をサポートした。
- CLI‥‥複数のファイルの文法チェックを、一度にできるようになりました。
- DOM‥‥プロパティ DOMElement::$className と、DOMElement::$id が追加。libxml2 の制限により、現時点でこれらはバイナリセーフではない。つまり、プロパティの値から NUL バイト以降が切り捨てられる。プロパティ DOMNode::$isConnected と DOMNameSpaceNode::$isConnected が追加。プロパティ DOMNode::$parentElement と DOMNameSpaceNode::$parentElement が追加。
- FFI‥‥FFI\CData を他の FFI\CData に代入できるようになった。
- Opcache‥‥opcache_get_status()['scripts'][n]['revalidate'] の値に、いつスクリプトの更新チェックを行うかの予定が Unix タイムスタンプの形で含まれるようになった。いつチェックを行うかは、opcache.revalidate_freq によって決まる。
- POSIX‥‥ posix_getrlimit () で、リソースの制限値をひとつ取得できる、オプションの $res パラメータが使えるようになった。 posix_isatty () は、通常のパラメータ解釈のセマンティクス(ZPP) に従い、整数値に対して警告を発生させるようになった。 posix_ttyname () は、通常のパラメータ解釈のセマンティクス(ZPP) に従い、整数値に対して警告を発生させるようになりました。さらに、無効なファイルディスクリプタの整数値に対しても、警告を発生させるようになった。
- Streams‥‥以前のバージョンでは実装されていなかった新しい通知として、STREAM_NOTIFY_COMPLETED が発生させられるようになった。
非推奨
- 空文字列や、数値形式でない文字列、英数字でない文字列に対して、加算子 (++) や減算子 (--) を使うことは推奨されなくなった。
- 引数を渡さずに get_class () / get_parent_class () をコールすることは推奨されなくなった。
- $dba を第3引数に渡して dba_fetch () をコールすることは、推奨されなくなりました。
- FFI::cast(), FFI::new(), FFI::type() を static メソッドとしてコールすることは、推奨されなくなった。
- 定数 U_MULTIPLE_DECIMAL_SEP*E*RATORS は、推奨されなくなった。代わりに U_MULTIPLE_DECIMAL_SEP*A*RATORS を使おう。
- 定数 NumberFormatter::TYPE_CURRENCY は、推奨されなくなった。
- ldap_connect () に、$hostname と $port を別々に渡してコールすることは、推奨されなくなった。
- mb_strimwidth () に負の $width を渡すことは、推奨されなくなった。
- resource と $length を渡して Phar::setStub() をコールすることは、推奨されなくなった。$phar->setStub(stream_get_contents($resource)); に置き換えよう。
- メルセンヌ・ツイスタ の動作モード MT_RAND_PHP は、推奨されなくなった。
- ReflectionProperty::setValue() にひとつだけ引数を渡してコールすることは、推奨されなくなった。static プロパティを設定するには、最初の引数に null を渡そう。
- assert_options () 関数は、推奨されなくなった。
- 定数 ASSERT_ACTIVE, ASSERT_BAIL, ASSERT_CALLBACK, ASSERT_EXCEPTION, ASSERT_WARNING は、推奨されなくなった。
- INI 設定 assert.* は、推奨されなくなった。
- SQLite3 で例外を使うことが推奨されるようになった。警告は将来のバージョンで削除される。
- 定数 ZipArchive::FL_RECOMPRESS は、推奨されなくなった。将来の libzip のバージョンで削除される。
参考サイト
(この項おわり)
👉公式ダウンロードサイト