skillup

技術ブログ

PHP

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

投稿日:

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

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

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

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

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

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

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

詳しくはここを。

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

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

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

-PHP
-,

執筆者:


comment

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

関連記事

no image

PHPでの切り上げ誤差問題

PHPを初めて、4年近くたちますがいまだに知らんことが多いですね(爆) 本日は、

になるという非常にビックリな仕様に遭遇・・・ なにや …

no image

エラーハンドリング

エラーが起きた時にPHPだと画面に出ますが(出ない場合は画面が白くなります)、これを検知し、ログに吐いたり任意の処理をできるのがエラーハンドリングです。 フレームワークなどにはほぼこの仕組みが内在して …

no image

Laraevelのミドルウェアについて

以前からLaravel(ララベル)を使っていてわかりにくかったミドルウェアについてめも。 Laravelは一般的にはMVCフレームワークと言われていますが、コントローラーがリクエストを受け取り、何らか …

no image

テンプレートエンジンTwigについて

SmartyにかわるテンプレートエンジンとしてTwig(ツィッグ)を勉強中。 といってもテンプレートエンジンなので基本的なことはほとんど一緒っぽいですが。 Contents1 インストール2 基本的な …

no image

PHPでの画像トリミング&縮小

PHPにて画像のトリミング&縮小処理があったんで、メモ。 仕様は下記の通り 16:9の画像(解像度:5168×2907)を高さを維持して4:3にする。つまり横長だった画像比を変えるので、両サイドを取り …