Skip to content

Latest commit

 

History

History
64 lines (45 loc) · 2.91 KB

debug.md

File metadata and controls

64 lines (45 loc) · 2.91 KB

導入

App.php内のBEAR::init($app)とBEARの初期化をするときに$app['core']['debug']=trueで初期化するとBEARが開発モードで動作し、アプリケーションログ画面や開発用関数にアクセスできるようになります。開発モードで実行していると画面右上に"BEARバッジ"が出てきます。エラーに応じて色が変わり、デバック画面にリンクしています。

デバック画面

アプリケーション実行ログ、Smartyにアサインした変数一覧などのログ画面が用意されています。一つ前の画面のログも見れるのでサブミットやリダイレクトなどのページ遷移を伴う場合のログに対応しています。

開発用関数

開発支援のためのデバックモードの場合だけ使える関数pとスタティックメソッドがあります。ライブモードで実行しているときは無視されます。

デバック関数

デバック用変数出力関数とトレースの関数が利用できます。

p — 指定した変数に関する情報を解りやすく出力する

mixed p( mixed $expression [, string $format = 'dump' ] );

p($mixed);
p($mixed, 'printa');  // a print_a(cssを使った表出力)
p($mixed, 'var');     // v var_dump形式
p($mixed, 'export');  // e var_export形式
p($mixed, 'fire');    // f firePHP形式
p($mixed, 'syslog');  // s syslog形式
p($mixed, 'header');  // h header出力

いずれの形式でも出力した場所(ファイル名、ライン番号)と変数名を、変数と合わせて表示します。print_r()の代わりに使います。

t — バックトレースを表示する

void t(bool $condition);

t(); //トレースリンクを表示します。
t($a == 1); //$aが1のときにトレースリンクを表示します。

tr — バックトレースリンクを表示する

void tr(bool $condition);

トレースを表示する代わりにより詳細なトレースページへのリンクを表示します。 その他はt()と同じです。

r — リフレクション表示

オブジェクトやクラスのリフレクションを表示します。どういうオブジェクトが代入されてるか簡単なリファレンスになります。

r($object);
r($this);
r('BEAR_Page');

クエリーコマンド

開発時に以下のクエリーでコマンドが使用できます。

クエリー 意味
_error 最後のエラーを表示※1
_cc キャッシュクリア
_nopanda エラーハンドラーPanda解除

※1エラーが画面表示されない場合などに使えます。phpスクリプトがshutdownするタイミングでエラー検査をしています。通常問題が無い場合にはPEAR内部でのE_STRICTエラーが出ます。その時は問題ありません。