PHP7を試してみた
せっかくPHP7をインストールしたので、PHP7の面白そうな新機能をためしてみました。
インストールは:http://befool.co.jp/blog/chainzhang/php7-ubuntu14-installation/
??演算子
がPHP7では
になります。結構便利な演算子です。JavaScriptのvar a = b || 'fallback';
とよく似ていますが、??
は若干くせがあります。
タイプヒント
引数のタイプヒント
PHP7ではint
, float
などでも引数のタイプヒントとして使えるようになります。
結果は:
最初は「あれ?」と思ったんですが、buyCoffee('blend', '9.0');
のように、第二引数に文字列を渡しても何のエラーも表示されず実行されました。試しに、
を実行してみたら:
ちゃんとエラーが出ました。つまり、PHPが渡された引数を、指定した型に変換してみて、ダメだったらエラーを投げるという挙動ですね。これじゃ意味あるのかと思ったんですが、調べたところ、declare(strict_types = 1);
というオプションがあって、それを書くと、buyCoffee('blend', '9.0');
にもエラーが出ます。
個人的には、declare(strict_types = 1);
をデフォルトにしてもいいのでは?
戻り値のタイプヒント
PHP7からは戻り値のタイプの指定もできるようになります。
パフォーマンス
PHP7では配列のパフォーマンスが大きく改善されたと聞きましたが、実際にテストしてみました。
結果は:
配列を宣言する際にPHP7のメモリーの使用量はPHP5より半分以下抑えている上、パフォーマンスが2〜10倍向上しています。
まとめ
PHP7のリリースはまだ時間かかりそうですが、今使いたい機能もいくつがあってなかなか期待できそうではないかと思います。