PHP 7.2 で変わったこと

PHP 7.2は、2017 年(平成 29 年)11 月 30 日に正式版がリリースされた。object 型が追加されたり、EXIF 拡張モジュールや SQLite3 での BLOB の書き込みなど、いくつかの新しい機能が追加された。
PHP 7.2 のセキュリティサポート期限は 2020 年 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