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');
関連記事
-
多言語サイト向けに翻訳ファイルを使って翻訳を行う
CakePHPには、翻訳をビヘイビアを使用する方法と翻訳ファイルを使用する方法の2つがあるそうです。(他にもあるのかな?) 今回は、翻訳ファイルを使用して言語の切り替えを行い、その言語設定をCook
-
Jsヘルパーを使用してAjax更新
更新処理でページ遷移を伴う場合、ページ全体をレスポンスするのに対して、Ajax処理ではページの一部のレスポンスが可能となるためサーバからの通信量を抑えることが可能となります。デモ head
-
独自のバリデーションルールを作成
CakePHPで組み込みバリデーションルールをつくる方法は、正規表現を定義する方法と独自メソッドを定義する方法の2つがあるようです。 参考 Custom Validation Rules 正規
-
Js/Cssファイルの読み込みや出力する方法
CakePHPのHTMLヘルパーにはjsファイルやcssファイルを読み込むためのメソッドが用意されています。ファイルを読み込むのに加えて、出力先を複数指定できるようになっています。 また、インライン
-
ユーザ登録(仮登録・メール・本登録)
以前1.3版で投稿した「ユーザ登録」処理の2.x版を作成しました。フローは同じで以下のようにします。 1. メールアドレス・パスワードでユーザ登録 2. この時点では仮登録として、本登録用のU
-
hasOne アソシエーション
hasOneアソシエーションはテーブル間で1つのレコードに対して他のテーブルに紐付くレコードが1つの場合にjoinする場合に使用します。 CakePHPのドキュメントにならってUserモデルとP
-
HttpSocketを使用してリクエスト送信
CakePHPには、Webサービスへのリクエスト送信のためのHttpSocketクラスが用意されています。 HttpSocket get HTTP GETリクエストを発行します。デモ H
-
日付・時間のバリデーション
日付や時刻に関するバリデーションは以下のルールがビルトインされています。 date 日付 time 時刻 datetime 日時 (m:「月」を数字表記 / M:「月」を英語表記)
-
入力文字列の長さ(文字数)をバリデーション
CakePHP 2には、コアバリデーションに文字列の長さを検証する関数が用意されています。 文字列長(コア)バリデーション minLength - 最小文字数以上であること maxLengt
-
selectボックスを実装
今まで、selectボックスのgroupを作成するのにSet::Combineを使用していましたが、意外と簡単にできることに気付いてしまったので、ご紹介。(自分だけ知らなかったことに気付いた と言った
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さんから
[...] エラーがでてこまった。原因はこれだった。 [...]