続、PHP5.5の新機能を色々試してみた。Codeリーダブルコード開発補助php-cs-fixerごえもん2014.03.18続、PHP5.5の新機能を色々試してみた。PHP続、ごあいさつこんにちは!石川です。MTGではテーロスブロックの新しいエキスパンション「神々の軍勢」が発売されました。MagicOnlineでドラフトを何回かしましたが、敗北に敗北を重ね、大量の金を失いました。ウィザード社に貢献しているんだと言い聞かせることで精神を保っています。PHP5.5...前回の記事から相当な時間が空いてしまいました。新機能?を実際にコードを動かしながら確認していこうと思います。ネストした配列を個別の変数に展開できるようになりました。BARこれまでは下の様に書いていました。$b\n";}こうして比べてみると楽に書ける様になっているのがわかりますね。地味ではありますが、こういう奇麗なコーディングが出来る様になる改善が行われるのは良いことですよね。活路を見出してみる前回記事のGeneratorと組み合わせてみます。‘に’やってることは何も変わらないのですが、関数と組み合わせてみました。1.Generatorによって処理が汎用化されている2.使う側がどういう配列が生成されるか知っているこんな場合に利用すると良いと思います。上記処理ではechoするだけなのであまり有用では無いですが、そこはツッコミなしで。渡せるようになりました。issetだのemptyだのis_nullだのphpのこのテの式って混乱しがちじゃないですか?何渡すとtrueだのfalseだの関数が渡せるだの渡せないだの。チームで開発する際にはこの辺のポリシーが統一されていないと悲しい事件が起こりがちです。falseこんな感じですね。関数が渡せる様になっています。混乱しがちな空文字とかNULLとか0とかについては以前塚原さんが検証した記事があるのでそちらを読んでみてください。他のはどうなってんのよ?そもそも昔どうだったっけ?ってのを全く覚えていないので比較してみました。それぞれ関数を渡した時の挙動です。Errorのままです。emptyやis_nullは値に対する検査で、issetは変数そのものに対する検査だからでしょう。Errorでもメッセージは変わっていました。...親切になってますwこういう目に見えないところもサポートが厚くなっているのを見てちょっと感動しました。個々の要素や文字に直接アクセスできるようになりました。Pこれを最初見た時は誰得?と思いましたが、RFCによると、言語仕様の一貫性を保つための改善、ということらしいです。どこの言語もそうかもしれないですが、PHPは特に言語仕様の統一には相当苦労してるんだろうなぁと勝手に思っています。クラスの完全修飾名を取得できるようになりました。"\n";処理結果Name\Space\ClassNameはい。このテの機能追加は、特にフレームワークを作る時なんかに嬉しいかもしれませんね。普通に開発するぶんには使用する機会はほとんど無いでしょう。事前にコンパイル済みのスクリプトのバイトコードを共有メモリに格納します。リクエストのたびにスクリプトの読み込みやパースをする必要がなくなります。これ検証とかするとなるとそれだけで記事使いそうなので割愛します(汗ものすごくわかりやすいスライドをhnwさんがUPしているのでそちらを読んでください。OPcacheの速さの秘密を探る。