PHP、最新バージョンである7.1と7.0をリリース – バグ修正版

米国時間2017年4月13日にPHPデベロップメントチームは、「PHP.net」において最新バージョンである「PHP 7.1.4」と「「PHP 7.0.18」をリリースしたことがわかりました。
これらは、主にバグ修正を目的としたバージョンであると伝えられております。
PHP 7.1/7.0
今回のアップデートは、「PHP 7.0系列」と「PHP 7.1系列」に向けて配信されている。
PHPデベロップメントチームは、それぞれの系列を利用しているユーザーに対し、最新版へのアップデートを推奨しております。
PHP 7.1の変更点
Nullable型の追加
パラーメータや返り値の型宣言で、「nullable」指定ができるようになりました。
nullableを指定することで、指定した型だけではなくNULLも渡せるようになります。
void関数
返り値としてvoidが利用できるようになりました。
なお、返り値の型をvoidにした場合は、関数内でreturn文を省略するか、空白のreturnを使う必要があります。
※void関数からnullを返すことはできません。
Symmetric array destructuring
配列の短縮構文 ([]) を使った、 代入用に配列の値を取り出せるようになりました (foreach でも使えます)。
クラス定数のアクセス範囲指定
クラス定数のアクセス範囲を指定できるようになりました。
iterable 擬似型
新しい擬似型 である iterableが新たに追加されました。
パラーメータおよび返り値の型指定が利用できるようになりました。
例外処理における複数の例外のcatch
ひとつのcatchブロックで複数の例外を扱えるようになりました。
パイプ文字(|)をつかって指定することができます。
異なるクラス階層に由来する異なる例外を同様の処理にしたい場合に有用です。
list()におけるキーのサポート
list()の内部でキーを指定できるようになりました。
これにより、キーが整数やシーケンシャル出ない場合でも、配列の値を取り出せるようになりました。
負の文字列オフセットのサポート
文字列操作関数のうちオフセット指定できるものすべてを対象に、負のオフセットを指定できるようになりました。
なお、負のオフセットは、文字列の末尾からのオフセットと解釈されるようです。
ext/opensslにおけるAEADのサポート
oplenssl_encrypt()およびopenssl_decrypt()における追加のパラメータで、AEAD(GCMモードおよびCCMモード)をサポートするようになりました。
Closure::fromCallable()によるcallablesからClosureへの変換
Closureクラスに新しい静的メソッドが追加されました。
callableを簡単にClosureオブジェクトに変換するために用いられます。
非同期シングルハンドリング
新しい関数pcntl_async_signals()が追加されました。
tickを使用しない非同期シグナルハンドリングを有効にすることができます。
ext/curlにおけるHTTP/2サーバープシュのサポート
CURL拡張モジュールがサーバープシュに対応するようになりました。
curl_multi_setopt() 関数に新しい定数 CURLMOPT_PUSHFUNCTION
を指定すれば、この機能を利用することができます。
PHP 5.6は見放された?
今回のリリースノートにはPHP 5.6系列は含まれていない。
「PHP 5.6系列」は、米国時間2017年1月19日にリリースされた「PHP 5.6.30」によるバグ修正を最後にアップデートが行われていない。
それ以降は、2年間の脆弱性の修正等のバージョンアップは保証されておりますが、PHPデベロップメントチームはバグ修正などは行わないとしている。
「PHP 5.6系列」でバグ修正を希望する場合は、「PHP 7.o系列」あるいは「PHP 7.1系列」へアップデートすることを推奨されております。
出典元:PHP.net
お気軽にお書きください