DebugKitを導入

定番のブログチュートリアルをこなして、定番のDebugKitを導入してみました。
2.3からはCakePHPインストール直後に以下のように導入を推奨するような警告メッセージが表示されるようになりました。CakePHP 2.x インストール
DebugKit is not installed. It will help you inspect and debug different aspects of your application. You can install it from GitHub
2.x版はここからダウンロードできます。(CakePHP 2.2.0以降)
CakePHP 2.x版 インストール
導入手順
- 解凍してディレクトリ名を「DebugKit」に変更し、app/Plugin下へ配置(=>app/Plugin/DebugKit)
**ディレクトリ名が異なる場合は以下のように言われます。
Error: The application is trying to load a file from the DebugKit plugin Error: Make sure your plugin DebugKit is in the app/Plugin directory and was loaded
- app/Config/bootstrap.phpへ追加します
CakePlugin::load( 'DebugKit');
- app/Controller/AppController.phpでコンポーネントを追加します。
var $components = array( 'DebugKit.Toolbar');
- デバッグレベルを1以上へ設定
Configure::write('debug', 1);
"Sql log"パネルにSQLが表示されない場合は、どこかに以下が入り込んでいないか確認して下さい。特にデフォルトで設置されるapp/View/Layouts/default.ctp内など。
<?php echo $this->element('sql_dump'); ?>
PHPのバージョン
Parse error: syntax error, unexpected T_FUNCTION in ~app/Plugin/DebugKit/Controller/Component/ToolbarComponent.php on line 174
と怒られた場合は、PHPのバージョンを確認してみて下さい。PHP 5.3.0以降でないと こうはじかれるようです。
1.3での導入方法
ダウンロードはそれぞれ以下から
CakePHP 1.3ブランチ (CakePHP 1.2ブランチ)
- 解凍してフォルダ名を「debug_kit」に変更し、app/plugins下へ配置(=>app/plugins/debug_kit)
こうやって怒られる場合があるので、全て小文字にして下さいError: The component file was not found. Error: Create the class ToolbarComponent in file: app/controllers/components/toolbar.php
- app/app_controller.phpでコンポーネントを追加します。
var $components = array('DebugKit.Toolbar');
関連記事
-
-
Formヘルパーのinputタグのdiv/labelなどの設定
Formヘルパーのinputではデフォルトでは以下のようにdivで囲われて、labelが付与されて出力されます。 CSSのフレームワークなどであらかじめ決まったスタイルがある場合に便利に作られていま
-
-
(メール・URL・電話・郵便・IP) データ バリデーション
今回は、プロフィール情報に使用されるデータに絞ったバリデーションルールです。 バリデーションルール 以下の5つのバリデーションルールがコアに用意されています。 email メールアドレス
-
-
バリデーション前後に処理を追加できる「beforeValidate」「afterValidate」
CakePHPでは、「beforeValidate」「afterValidate」というバリデーション処理の前後で追加の処理を実装できるコールバック関数が用意されています。 beforeVali
-
-
バリデーションエラーメッセージの取得
CakePHP 2.xになってバリデーションエラー時に返却されるメッセージのデータ形式が変更になったようです。1.3系では、ひとつのフィールドに対して返却されるメッセージは一つのルールのみですが、2.
-
-
ログインに追加の条件を付与する「scope」
ユーザ登録では、仮登録処理(status=1)から送付したメール内のリンクをクリックしてもらい本登録(status=0)を行ってもらう実装をしました。仮登録の状態ではログインできないように実装するには
-
-
hasOne アソシエーション
hasOneアソシエーションはテーブル間で1つのレコードに対して他のテーブルに紐付くレコードが1つの場合にjoinする場合に使用します。 CakePHPのドキュメントにならってUserモデルとP
-
-
入力文字列の長さ(文字数)をバリデーション
CakePHP 2には、コアバリデーションに文字列の長さを検証する関数が用意されています。 文字列長(コア)バリデーション minLength - 最小文字数以上であること maxLengt
-
-
ネストしたリストを出力「nestedList」
DBやJSONからデータを取得して、そのデータをもとにメニュー表示などネストしたリストを出力させたい場合に「nestedList」が便利です。 ヘルパーに渡すデータは連想配列である必要があります。(
-
-
SQLクエリーをログに出力する
SQLのクエリーをデバッグするには、Debug Kitを使用すればできますが、デバッグログと一緒に出したいのでやり方を調査してみました。 別々のログやビューでみるのもいいですが、秒単位で実行される処
-
-
日付・時間のバリデーション
日付や時刻に関するバリデーションは以下のルールがビルトインされています。 date 日付 time 時刻 datetime 日時 (m:「月」を数字表記 / M:「月」を英語表記)
Comment
[…] http://kwski.net/cakephp-2-x/1005/ […]
otukutunのはてブ棚卸し:CakePHP 2.x: DebugKitをインストール | Think deeply, Do less, More effective http://t.co/pyFx9OICXG
[…] 参考:http://kwski.net/cakephp-2-x/1005/ […]
CakePHP 2.x | DebugKitを導入 | Think deeply, Do less, More effective http://kwski.net/cakephp-2-x/1005/ … @kwski3さんから
[...] エラーがでてこまった。原因はこれだった。 [...]