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版 インストール

導入手順

  1. 解凍してディレクトリ名を「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
    
  2. app/Config/bootstrap.phpへ追加します
    CakePlugin::load( 'DebugKit');
  3. app/Controller/AppController.phpでコンポーネントを追加します。
    var $components = array( 'DebugKit.Toolbar');
    
  4. デバッグレベルを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ブランチ)

  1. 解凍してフォルダ名を「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
    
  2. app/app_controller.phpでコンポーネントを追加します。
    var $components = array('DebugKit.Toolbar');

CakePHP 1.3 - DebugKitを導入

  • このエントリーをはてなブックマークに追加

関連記事

(メール・URL・電話・郵便・IP) データ バリデーション

今回は、プロフィール情報に使用されるデータに絞ったバリデーションルールです。 バリデーションルール 以下の5つのバリデーションルールがコアに用意されています。 email メールアドレス

SQLクエリーをログに出力する

SQLのクエリーをデバッグするには、Debug Kitを使用すればできますが、デバッグログと一緒に出したいのでやり方を調査してみました。 別々のログやビューでみるのもいいですが、秒単位で実行される処

ログインに追加の条件を付与する「scope」

ユーザ登録では、仮登録処理(status=1)から送付したメール内のリンクをクリックしてもらい本登録(status=0)を行ってもらう実装をしました。仮登録の状態ではログインできないように実装するには

Formヘルパーのinputタグのdiv/labelなどの設定

Formヘルパーのinputではデフォルトでは以下のようにdivで囲われて、labelが付与されて出力されます。 CSSのフレームワークなどであらかじめ決まったスタイルがある場合に便利に作られていま

recursive設定によるfind()性能改善

CakePHPでは、モデルにアソシエーションを設定している場合、recursive(=>joinする階層)はデフォルトで0に設定されています。「recursiveゼロ」の意味するところとは、「1跨ぎま

数値系バリデーション

CakePHP 2になっていくつか数値用バリデーションルールが追加されています。 数値用 (コア)バリデーション decimal - 十進数であること numeric - 数値であること

ユーザ登録(仮登録・メール・本登録)

以前1.3版で投稿した「ユーザ登録」処理の2.x版を作成しました。フローは同じで以下のようにします。 1. メールアドレス・パスワードでユーザ登録 2. この時点では仮登録として、本登録用のU

no image

radioボタンを実装

Radioボタンの実装は、セレクトボックスとほぼ同じです。 個人的にはラジオボタンをすすんで使用することは少ないのですが、2択くらいの選択肢であれば非常に便利ですよね。 今回は、その実装方法 デモ

多言語サイト向けに翻訳ファイルを使って翻訳を行う

CakePHPには、翻訳をビヘイビアを使用する方法と翻訳ファイルを使用する方法の2つがあるそうです。(他にもあるのかな?) 今回は、翻訳ファイルを使用して言語の切り替えを行い、その言語設定をCook

checkボックスを実装

selectボックスに引き続いてcheckボックスの実装方法をおさらいしてみます。 コードは、CakePHP 2と1.3両方で実装可能です。デモ モデルは、こちらも以下 CREATE TA

Comment

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

    PAGE TOP ↑