CakePHP

CakePHPでViewをレンダリングしない方法

ファイルダウンロードさせる時とかバイナリを直接読むとかそういう時に使いたかった。ドキュメントに書いてあった。 // レスポンスオブジェクトを返すとコントローラがビューの描画を中止します return $this->response; http://book.cakephp.org/2.0/ja/con…

CakePHPで定義されているContent-Type

CakeResponseクラスではCakeResponse::typeを使用することでレスポンスのContent-Typeを指定できる。 CakePHPで定義されているContent-Typeであれば次のように指定することができる。 $this->response->type('type'); 今日現在masterブランチで定義されてい…

CakePHP - findでjoinsを設定した時の挙動についてメモ

Cake自体のソースコードまで追って理解したってまではいかないけど動きはわかったので。 柔軟にテーブルをくっつけたくて、findのjoinsオプションを設定してjoinする。 動作的に返り値にjoinしたテーブルのデータが入ってることを期待してたんだけど 入って…

CakePHP - counterCacheについて

ドキュメントに乗ってることだけど書くと覚えるんだよたぶん Associations: Linking Models Together ― Cookbook v2.x documentation 例えば俺がゲーム何本持ってるかっていうのを数えるのに、counterCacheを使わないといちいち数えなければいけないけどcoun…

JenkinsでCakePHPのカバレッジを自動で測定

前回Web上のtestsuiteでカバレッジを見るようにしたけど今度はJenkinsでそれを管理する。 前回の記事:CakePHPのTestsuiteでカバレッジ計測 - chulip.org Jenkinsで使うにはコマンドライン上で生成してやるといけるとおもうので--coverage-cloverオプション…

CakePHP2とPHPUnitとSimpleTestと

CakePHP2系になってからはPHPUnitがテストに使われていてそれを使ってテスト書いてるんだけど assert文を微妙に間違ってるなあって気づいた。けど動いてるのでなんでかなと思った。 ちなみにassertEqualsをassertEqualって書いてた。 答えはまんま下のページ…

CakePHP2で複数フィールドにまたがる一意性制約

複数フィールドの値の組み合わせがユニークかどうかというValidationです。 結論から言うと下記サイトを参考にさせていただき解決しました。 CakePHPで複合ユニークキーのバリデーションを行う方法 - (DxD)∞ isUnique制約を使って複数フィールドの値の組み合…

CakePHP2系でJenkinsを使って自動テスト

いつも自分のブログで検索してもJenkinsインストールした記録が残ってなくて、なんか変だなと思ったら書いてなかった。 CakePHP2系でtestsuiteを自動で走らせるっていうやつです。Jenkinsインストールからやります。 環境 LinuxMint12 64bit Jenkinsインスト…

CakePHP2系でテストの自動実行

CakePHP2系でこれやれば完璧みたいなのが見つからなかったのでいろいろ参考にしてRuby使ってwatchrでやるのが簡単そうだったのでやった。 環境 LinuxMint12 64bit Ruby1.9.2p290 インストール $ sudo gem install watchr 適当に作ったもの 自動テストしたいC…

CakePHPのTestsuiteでカバレッジ計測

TestsuiteがWebからできるようになってるんですがここでカバレッジも計測できます。 何かのテストコード実行するとAnalyze Code Coverageってリンクが有ると思うのでクリックして遷移。どうやらXdebugが必要なようで入っていないとこんなメッセージ出てるは…

LinuxMint12でCakePHPの環境構築

CakePHPの環境をLinuxMint12 64bitで作ったのでメモです。Ubunutu11.10でも一緒だと思います OSインストール直後のまっさらな状態です。CakePHPは2.0.5です。 ミドルウェアのインストールはtaskselコマンドで済ませてるので対して何もやってないです。 過去…