skillup

技術ブログ

PHP

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

投稿日:2017年1月22日 更新日:

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

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

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

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

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

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

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

詳しくはここを。

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

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

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

-PHP
-,

執筆者:


comment

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

関連記事

no image

nginx上でのcakePHP

cakePHP上をCentOS,nginx上で公開するときのメモなどを。 cakeのversionは2.5です。 /var/www/html/sampleapp直下にプログラムを配置するものとします。 …

no image

PHPの名前空間

PHPでも5.3以降はJavaのパッケージのように名前空間を使うことができます。 いままではライブラリやアプリケーションの開発者は、PHPに組み込まれている関数やクラス名や他の人が作ったライブラリとの …

no image

Shift_JISの5C問題について 全角ハイフンでエスケープ

エンジニアであればだれもが頭を悩ませる文字コード。 私も初期のころはこれのせいでデータが入らないとかおかしくなるなんてことがさんざんありました。 今でも文字コードに遭遇することはあるんですが大体のパタ …

no image

Angularでのイベント+改行+echoでのバッファサイズ変更

Contents1 Angularのイベント処理2 Angularでの改行ネタ3 echoでのバッファサイズ変換 Angularのイベント処理 Angularを使っていて楽なのはHTMLタグにインベン …

no image

cakePHPの認証-Authコンポーネント

ひさびさにPHPをやる機会があり、短期での開発だったため、cakePHPを使いました。 以前やったことがあったんですが、もう2年以上たっていますね。 といいつつも昔のソースを見ながらやることで思い出し …