skillup

技術ブログ

PHP

CakePHP3でのコレクションに関して

投稿日:

プログラミングにおいて基礎となるのは配列、ハッシュの処理とオブジェクト指向の使いこなしです。

配列、ハッシュの処理に関しては自前でメソッドを書いてもよいですが、バグの温床になりやすいので、ライブラリを使うのがもっともよいでしょう。

CakePHPだとすでにコレクション関連のメソッドがそろっていますので、ここから活用できます。

Unitテストのプログラムに書いてあげれば実際のアプリを動かさなくても試せるので非常に楽です。

本来の使い方とは違っていますが・・・

ちなみにファイルパスはアプリのディレクトリのすぐ下/tests/TestCase/Util/SampleUnitTest.php

です。テストの実行は 同じ位置で vendor/bin/phpunit tests/TestCase/Util/SampleUnitTest.phpで行けます。

詳しくはここを。

試したのは検索系と集計と抽出タイプなど実務で頻繁に出てくるパターンのものを出しました。

サンプルはすべて以前紹介したunderbar.phpとほぼ同様のパターンですね。

このパターンに限らず関数型のプログラミングになれていればほぼ同じ要領でできるかと思います。

-PHP
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

ロケール情報について

本日、csvファイルを読み込む処理を行っていたんですが、コンソールからコマンドを打つと化けずに、ウェブ上で見ると化けるという現象が発生。 csv,プログラムともに文字コードがutf8で統一していること …

no image

eclipseでのPHPソースの扱い方

Contents1 既存ファイルからプロジェクト生成2 PHP5.4以降でコンパイルする3 ctpファイルのシンタックスハイライト 既存ファイルからプロジェクト生成 超小ネタですが、Eclipseです …

no image

phing

今までphpunit,phpmd,phpcodesniffer,phpdocumentなどのツールをいろいろと試してきますが、個別に動かしていると大変面倒ですので、これを一気に行えるライブラリがありま …

no image

Laravelの認証(独自テーブル仕様)

Laravelで独自の認証をしたいときに少々大変だったのでメモなどを。 *ディフォルトのテーブルはuserで認証項目もemailとpasswordと決まっています。 いじるところが色々ありまして、列挙 …

no image

CakePHP3 Unitテスト モデル編

長らくやろうやろうと思っていながら手がつかなかったCakePHP3のユニットテストについて。 以前にも何らかのエントリーで書いたのですが(下記参照)、モデル系はなかなかやらなかったので、これを機に説明 …