CakePHP
ファイルダウンロードさせる時とかバイナリを直接読むとかそういう時に使いたかった。ドキュメントに書いてあった。 // レスポンスオブジェクトを返すとコントローラがビューの描画を中止します return $this->response; http://book.cakephp.org/2.0/ja/con…
CakeResponseクラスではCakeResponse::typeを使用することでレスポンスのContent-Typeを指定できる。 CakePHPで定義されているContent-Typeであれば次のように指定することができる。 $this->response->type('type'); 今日現在masterブランチで定義されてい…
Cake自体のソースコードまで追って理解したってまではいかないけど動きはわかったので。 柔軟にテーブルをくっつけたくて、findのjoinsオプションを設定してjoinする。 動作的に返り値にjoinしたテーブルのデータが入ってることを期待してたんだけど 入って…
ドキュメントに乗ってることだけど書くと覚えるんだよたぶん Associations: Linking Models Together ― Cookbook v2.x documentation 例えば俺がゲーム何本持ってるかっていうのを数えるのに、counterCacheを使わないといちいち数えなければいけないけどcoun…
前回Web上のtestsuiteでカバレッジを見るようにしたけど今度はJenkinsでそれを管理する。 前回の記事:CakePHPのTestsuiteでカバレッジ計測 - chulip.org Jenkinsで使うにはコマンドライン上で生成してやるといけるとおもうので--coverage-cloverオプション…
CakePHP2系になってからはPHPUnitがテストに使われていてそれを使ってテスト書いてるんだけど assert文を微妙に間違ってるなあって気づいた。けど動いてるのでなんでかなと思った。 ちなみにassertEqualsをassertEqualって書いてた。 答えはまんま下のページ…
複数フィールドの値の組み合わせがユニークかどうかというValidationです。 結論から言うと下記サイトを参考にさせていただき解決しました。 CakePHPで複合ユニークキーのバリデーションを行う方法 - (DxD)∞ isUnique制約を使って複数フィールドの値の組み合…
いつも自分のブログで検索してもJenkinsインストールした記録が残ってなくて、なんか変だなと思ったら書いてなかった。 CakePHP2系でtestsuiteを自動で走らせるっていうやつです。Jenkinsインストールからやります。 環境 LinuxMint12 64bit Jenkinsインスト…
CakePHP2系でこれやれば完璧みたいなのが見つからなかったのでいろいろ参考にしてRuby使ってwatchrでやるのが簡単そうだったのでやった。 環境 LinuxMint12 64bit Ruby1.9.2p290 インストール $ sudo gem install watchr 適当に作ったもの 自動テストしたいC…
TestsuiteがWebからできるようになってるんですがここでカバレッジも計測できます。 何かのテストコード実行するとAnalyze Code Coverageってリンクが有ると思うのでクリックして遷移。どうやらXdebugが必要なようで入っていないとこんなメッセージ出てるは…
CakePHPの環境をLinuxMint12 64bitで作ったのでメモです。Ubunutu11.10でも一緒だと思います OSインストール直後のまっさらな状態です。CakePHPは2.0.5です。 ミドルウェアのインストールはtaskselコマンドで済ませてるので対して何もやってないです。 過去…