約半年ぶりになりますでしょうか。。。だいぶ忙しくなり、記事書くこともままならない状態(汗)
けっこう書きたい記事もあるんですよねー、頑張って書きます!
なんとか今の現状打開しなければ忙しいだけで終わってしまうので今後はブログの時間もとっていくようにいきます。
スポンサーリンク
さて、PHPの5.6が8月28日にリリースされました。正式リリースまで結構かかったなという感じですね。
そして、そろそろ5.3以降と言うより5.4以降のモダンな開発は必須ですね。私もarrayも[]で書き始めており5.4以降対応の記述をしております。
5.3から5.4までが約3年かかっており5.4から5.5まで約1年ちょとそして5.5から5.6までも約1年ちょいで1年スパンでメジャーアップデートされております。
気になる新機能ご紹介
新機能を私が便利だと思った物を紹介します。すべての新機能が気になる方はマニュアルをご覧下さいませ。5.6新機能マニュアル
1.定数スカラー式
まずは定数のスカラー式というやつなんですがこれは今まで定数には式すら入力できなかったのですが、このバージョンで計算とかをデフォルト値としてできます。ただし、メソッドは駄目みたい。これは結構使えます。
class C { const ONE = 10; const TWO = ONE * 2; const THREE = TWO + 1; const ONE_THIRD = ONE / self::THREE; const SENTENCE = 'THREE の値は '.self::THREE; |
2.「….」の可変引数割り当て
いままでは引数の個数がわからない場合はfunc_get_args()の関数で取得しておりましたが、簡単でわかりやすくなりました。これはいいですね
<?php function f($req, $opt = null, ...$params) { // $params は配列で、残りのすべての引数が含まれます printf('$req: %d; $opt: %d; パラメータ数: %d'."\n", $req, $opt, count($params)); } f(1); =>$req: 1; $opt: 0; パラメータ数: 0 f(1, 2); =>$req: 1; $opt: 2; パラメータ数: 0 f(1, 2, 3); =>$req: 1; $opt: 2; パラメータ数: 1 f(1, 2, 3, 4); =>$req: 1; $opt: 2; パラメータ数: 2 f(1, 2, 3, 4, 5); => $req: 1; $opt: 2; パラメータ数: 3 ?> |
3.累乗演算子 **
計算が楽になります。2*2*2*2*2*2が2**6で解決!
4.POSTが無制限
いままでMAX=2GBのデータの壁がなくなり、POSTデータはメモリに保存されなくなりました。
5.use function & use const
クラスだけでなく関数や定数もuseで呼び出しできるようになりました。より細かく呼び出しができるようになったのはいいですね。
6.hash_equals()文字列比較
パスワードチェックのセキュリティ上必要な関数です。この関数は、二つの文字列の比較を一定の時間で行います。今までは一定ではなかったと言うことですかね。それが原因でパスワードが発見してしまうのを防ぎます。password_hash()やpassword_verify() が使えない場合を想定のようです。この関数以外の場合は必須ですね。
7.マジックメソッド __debugInfo()
var_dump() でオブジェクトの情報を出力する際の、プロパティやその値の表示方法を変更できます。ようするにvar_dump拡張といったところでしょうか。
<?php class A { private $a; public function __construct($val) { $this->a = $val; } public function __debugInfo() { return [ 'echo_a' => $this->a ** 2, ]; } } var_dump(new A(10)); => object(C)#1 (1) { ["echo_a"]=> int(100) } ?> |
8.phpdbgが標準で含まれる
デバッガとして標準でphpdbgが同梱されます。今まではphpdbgやxdebugなどのモジュールをインストールしてセットアップする必要がありましたがもうその必要もありません。。。便利そうなのですがコマンドラインというのがちょっとね・・・個人的にはxdebugの方が使いやすいです。
ざっとですが新機能を紹介しました。デフォルトで文字コードもUTF-8になるようですし、速度も多少上がったので今後も新しい機能を使っていきモダンなPHP開発をしましょう!
5.3もサポートも終わっているので5.4からの開発を目指しましょう!次期5.7そしてメジャーアップデートは7.0の予定だそうです。6.0はどうも飛ばされるようですね。5.3の頃に出ると言われていたんですけどね。
7.0もどんな風に改善&改良されるのかが楽しみですね!