Laravelの素敵な機能(Collection)
PHP7の登場でPHP界隈が盛り上がってますね!
そして、PHPのフレームワークのLaravelも5系の登場で人気急上昇中といった感じでしょうか。
Laravelの機能で気になったことがあるので紹介しますー。
Collection
Laravelには配列データを操作するために、書きやすく使いやすいラッパーが用意されています。
それをCollectionと呼びます。(Illuminate\Support\Collection
クラス)
Collectionクラスは、内部で持っている配列を操作でき、メソッドチェーンでスムーズに処理してくれます。 ※つまり、すべてのCollectionメソッドは新しいCollectionインスタンスを返すってことですね。
$collection = collect(['a', 'b', 'c', 'hogehoge']) ->map(function($name)){ return strtoupper($name); }) ->reject(function($name)) { return strlen($name) > 1; });
上記サンプルは、要素ひとつひとつについて、小文字をすべて大文字にしてから、文字数が1文字を超える要素を削除することをしています。
コレクションの生成
上記サンプルで書いたように配列を引数にcollect(['hogehoge', 'hoge', ''])
としてあげればいいです。
Eloquentオブジェクトは、Collectionを返却してくれるので、コレクションさえ扱えれば、データ取得後も配列操作がより簡単になります!
配列操作はCollectionで!
これは後日書きますね。