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では、saveメソッドの際にバリデーション処理も自動で行われますが、save処理と切り離してバリデーションを行うこともできます。このときは、save時と若干異なる処理体系になります。2になって追加されたクラスCakeEmailがシンプルに使えます。これを使用してメール送信を行う処理を実装してみました。/app/Configパス定数と変更方法やURLの取得CakePHPは基本的にはディレクトリそのまま配置することで構築が可能ではありますが、設定パスを変更することでセキュリティに考慮した構成にすることや運用性をもたせたものにすることが可能になります。インストール時エラーの対処CakePHPインストール時に出くわすであろうエラーの原因と対処方法についてまとめてみました。前提として、WebサーバはApache、データベースはMySQLとしています。'http://Js/Cssファイルの読み込みや出力する方法CakePHPのHTMLヘルパーにはjsファイルやcssファイルを読み込むためのメソッドが用意されています。ファイルを読み込むのに加えて、出力先を複数指定できるようになっています。CakePHP」は、インクルードするCSSもしくはJSファイルをひとまとめにしてキャッシュ化してくれるプラグインです。Plugin」は、MarkDown書式をレンダリングしてくれるビューヘルパーです。MarkDownについて勉強しているうちに出会ったので試し打ちです。更新処理でページ遷移を伴う場合、ページ全体をレスポンスするのに対して、Ajax処理ではページの一部のレスポンスが可能となるためサーバからの通信量を抑えることが可能となります。定番のブログチュートリアルをこなして、定番のDebugKitを導入してみました。なってて、1つ跨ぎまでのJOINが自動でされちゃう。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。コメントデータの処理方法の詳細はこちらをご覧ください。