Modelsrecursive設定によるfind()性能改善CakePHPでは、モデルにアソシエーションを設定している場合、recursive(=>joinする階層)はデフォルトで0に設定されています。「recursiveゼロ」の意味するところとは、「1跨ぎまでのJoinを行う」ということになり、Find()関数を使用した場合、デフォルトの状態でJoinが行われてしまいます。-1とすることで余計なjoin処理を省略することができます。join先のテーブルのレコード数が多い場合などは効果絶大。「User」とそれに紐付く「Usercomment」モデルを用意しました。utf8_general_ciアソシエーションの設定。(usercommentsテーブル)へのjoinが行われます。-1を設定すると、User(usersテーブル)へのselectのみが行われるようになります。1)実行SQLをログ出力させておくとわかりやすいと思います。考え方次第ですが、代表的には以下の2つが考えられると思います。0などに設定をする必要があります。個人的には、2を選択しています。SQLのログは試験中は出力しておいて、余計な呼び出しは省略していくというのは、特にフレームワークを使用する際は注視して使用すると、もっと使い勝手がよくなると思います。本番向けは取り除いて下さい。性能劣化につながりますので。ユーザ登録(仮登録・メール・本登録)Tweet関連記事ハッシュ関数の選択とハッシュ化処理CakePHPでは、ログイン時にはpasswordを自動的にハッシュ化して認証を行ってくれますが、そのパスワードを登録する際は、明示的にハッシュ化する必要があります。2になっていくつか数値用バリデーションルールが追加されています。今まで、selectボックスのgroupを作成するのにSet::Combineを使用していましたが、意外と簡単にできることに気付いてしまったので、ご紹介。言ったcheckボックスを実装selectボックスに引き続いてcheckボックスの実装方法をおさらいしてみます。2と1.3両方で実装可能です。2.xになってバリデーションエラー時に返却されるメッセージのデータ形式が変更になったようです。Kitを使用すればできますが、デバッグログと一緒に出したいのでやり方を調査してみました。別々のログやビューでみるのもいいですが、秒単位で実行される処radioボタンを実装Radioボタンの実装は、セレクトボックスとほぼ同じです。個人的にはラジオボタンをすすんで使用することは少ないのですが、2択くらいの選択肢であれば非常に便利ですよね。インストール現在まで私が商用・非商用にリリースしているCakePHPアプリケーションは全て1.3.xベースで作成しています。ロードマップ的には大丈夫そうですが、お客さん向けに納品しているアプリケーショパス定数と変更方法やURLの取得CakePHPは基本的にはディレクトリそのまま配置することで構築が可能ではありますが、設定パスを変更することでセキュリティに考慮した構成にすることや運用性をもたせたものにすることが可能になります。Formヘルパーのinputタグのdiv/labelなどの設定Formヘルパーのinputではデフォルトでは以下のようにdivで囲われて、labelが付与されて出力されます。なってて、1つ跨ぎまでのJOINが自動でされちゃう。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。コメントデータの処理方法の詳細はこちらをご覧ください。