skillup

技術ブログ

PHP

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

投稿日:

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

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

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

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

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

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

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

詳しくはここを。

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

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

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

-PHP
-,

執筆者:


comment

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

関連記事

no image

cakePHPのSSL設定+jQueryのError Loading Page

cakeで作ったアプリの認証画面でhttps環境だとError Loading Pageというエラーメッセージがでてしまい、ログインできないという事象が発生。 最初はSSLが原因かとおもっていたんです …

no image

guzzle

サイトへのログイン認証などHTTPアクセスを行うライブラリではHTTP2_requestが有名かと思いますが、すでに開発がとまっていることもあり、最近はguzzleというライブラリが使われているようで …

no image

heroku+cakePHPによるメール送信

herokuに作ったアプリでメール送信機能を実装したのでその時のメモを。 まずメール送信自体はmb_send_mailなどではなく、SendGridというアプリを使います。 使い方ですが、heroku …

no image

cakeでのトランザクション、コミット、ロールバック

cakePHP(2.X系)でのトランザクション、コミット、ロールバックについて。 cakePHPでトランザクションを書ける場合、Model内に [crayon-5ba60281748709878793 …

no image

Queueの登録と実際の処理に関して

実務でQueueに絡んだ処理をする機会があったのでメモ。 Contents1 Queueとは2 Laravelでのキュー処理2.1 キューを記録しておく場所2.2 処理を登録する場面(当然まだ処理は行 …