PHP 7.2 で変わったこと

PHP 7.2は、2017年(平成29年)11月30日に正式版がリリースされた。object型が追加されたり、EXIF拡張モジュールやSQLite3 でのBLOBの書き込みなど、いくつかの新しい機能が追加された。
PHP 7.2のセキュリティサポート期限は2020年(令和2年)11月30日である。
 本ページは、すでにサポートを終了したソフトウェアに関して記載しています。ご利用にあたっては自己責任でお願いします。

object型

新たにobject型が追加され、型宣言や返り値の型に指定することができる。

名前指定による拡張モジュールのロード

読み込む共有モジュールを指定する際に、拡張子 (Linux なら .so、Windows なら .dll ) を指定する必要がなくなった。
php.ini ファイルでの指定だけでなく、 dl  関数による指定でも省略可能となった。

抽象メソッドのオーバーライド

ある抽象クラス(abstract メソッド)が別の抽象クラスを継承しているときに、 継承元クラスの抽象メソッドをオーバーライドできるようになった。

Argon2によるパスワードハッシュ

パスワードハッシュAPIArgon2 が追加された。
Argon2は、2015年(平成27年)7月に開催されたパスワードハッシュ競技会で優勝した鍵導出関数で、クリエイティブ・コモンズのCC0の下で公開されている。GPUによる攻撃に強い耐性があるとされている。

EXIF拡張モジュールの機能追加

 exif_read_data  関数で画像をパースするときに、今までよりも多くのメーカー独自タグが変換されるようになった。

SQLite3 での BLOB の書き込み

SQLite3::openBlob が、BLOB フィールドを書き込みモードでオープンできるようにになった。これまでは読み込みモードにしか対応していなかった。

PHP 7.2 で非推奨となった機能

詳しくは「PHP 7.2.x で推奨されなくなる機能」を参照。
  • クオートしない文字列
  • png2wbmp() および jpeg2wbmp()
  • __autoload() メソッド
  • php.ini の track_errors および $php_errormsg 変数
  • create_function() 関数
  • php.ini の mbstring.func_overload
  • (unset) キャスト
  • 第二引数を指定しないで parse_str() 関数を使う
  • gmp_random() 関数
  • each()関数
  • assert()関数に文字列を渡す
  • エラーハンドラの $errcontext 引数
  • read_exif_data() 関数

参考サイト

(この項おわり)
header