読者です 読者をやめる 読者になる 読者になる

CakePHPで動的にBehaviorを切り替えてModelの振舞いを変えるときはunload、loadを使う

CakePHP DocumentのBehaviorsの項にも書いてありますが、「ある時はこういう処理をして欲しいけど、違う時は別の処理をして欲しい」みたいな話。 やりたいこと あるModelがあって、今はAという処理だけあれば良いのだけど、今後BやCという処理も増やしたい …

testActionを使う時はautoRenderがfalseだとダメ

CakePHPでBake使ってControllerのテストを作るとき、一緒にテストしたいControllerクラスのMockみたいのができるのだけど、 そのクラスはredirectされないようにoverrideされていたり、renderされないように public $autoRender = false; となってたりする。…

CakePHPでMasterとSlaveにリクエストを振り分けるベストプラクティス的なものが知りたい

DBの負荷分散用に「更新はMaster」、「参照は複数のSlaveたちへ」的なことをCakePHP2.0でやろうと思ったのですが、 ハマってしまったのでメモを残します。 やりたいこと 更新はMasterへ、参照は複数のSlaveへ ただし、ざっくりでいい。参照のいくつかがSlave…

app/Config/core.phpのCacheの初期値はapp/Config/bootstrap.phpで上書きできないのですね

CakePHPを使っている時、app/Config/core.phpはcake本体のupdateのタイミングで変更される可能性があるためapp/Config/bootstrap.phpに

CakePHPのcore部分をgit submodule化してgithubで管理する

2011-11-09追記 app/webroot/test.phpのCAKE_CORE_INCLUDE_PATHを修正することを書いてなかったので追加 bakeのときにはappディレクトリを指定する必要があることを追加 ここから元記事 CakePHP as a Git submodule | Bravo Kernelの通りやればできる。 重要…

CakeEmailを使ってMac OS XからGmail経由でメールをする

CakePHP2.0でGmailを利用してメールを送ろうとして 「SwiftMailerってのが使えるのかぁ。それならそれ使おう」 とか思ったのですが、どうやらCakeEmailというのがあるようなのでそれを使うことにした # たぶんCakePHP1.3まではなかったんだよね?よく調べて…

TestでFixturesのデータをexpectedに再利用したい

Modelのテストをする時に「Modelから取得できたデータ」と 「Fixturesで定義したデータ」が一致してるかを確認したくてfixtureを呼び出せないか調べた。 $this->fixtureManager ってやるとCakeFixtureManagerオブジェクトが取れるのでそれでゴリゴリやるのか…