App.php内のBEAR::init($app)とBEARの初期化をするときに$app['core']['debug']=true
で初期化するとBEARが開発モードで動作し、アプリケーションログ画面や開発用関数にアクセスできるようになります。開発モードで実行していると画面右上に"BEARバッジ"が出てきます。エラーに応じて色が変わり、デバック画面にリンクしています。
アプリケーション実行ログ、Smartyにアサインした変数一覧などのログ画面が用意されています。一つ前の画面のログも見れるのでサブミットやリダイレクトなどのページ遷移を伴う場合のログに対応しています。
開発支援のためのデバックモードの場合だけ使える関数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()の代わりに使います。
void t(bool $condition);
t(); //トレースリンクを表示します。
t($a == 1); //$aが1のときにトレースリンクを表示します。
void tr(bool $condition);
トレースを表示する代わりにより詳細なトレースページへのリンクを表示します。 その他はt()と同じです。
オブジェクトやクラスのリフレクションを表示します。どういうオブジェクトが代入されてるか簡単なリファレンスになります。
r($object);
r($this);
r('BEAR_Page');
開発時に以下のクエリーでコマンドが使用できます。
クエリー | 意味 |
---|---|
_error |
最後のエラーを表示※1 |
_cc |
キャッシュクリア |
_nopanda |
エラーハンドラーPanda解除 |
※1エラーが画面表示されない場合などに使えます。phpスクリプトがshutdownするタイミングでエラー検査をしています。通常問題が無い場合にはPEAR内部でのE_STRICTエラーが出ます。その時は問題ありません。