ホーム > ブログ > [CakePHP] デバッグに便利な関数 debug

[CakePHP] デバッグに便利な関数 debug

CakePHPで開発を行っているとプリントデバッグにはpr()ばかり使用してしまいがちですが、よりデバッグに向いているdebug()も便利です。

基本

まずは、普通にdebugしてみます。
結果はpr()と同じになります。

サンプルコード:
$vars = array("dog", "cat", "monkey");
debug($vars);

出力結果:
Array
(
[0] => dog
[1] => cat
[2] => monkey
)


‘<'と'>‘をHTML特殊文字に変換して出力

第2引数にtrueを渡すと、
変数の中身に含まれる’<'は'&lt;‘に、’>'は’&gt;‘に変換して出力してくれます。

※デフォルトはfalse

サンプルコード:
$var = '<img src="/img/hoge.jpg">';
debug($var, true);

出力結果:
<img src=”/img/100217_1.jpg”>

‘<'と'>‘がHTML特集文字に変換されているので、imgタグはHTMLタグとして評価されず、ブラウザ上に画像は表示されません。

ファイル名と行番号を一緒に出力

第3引数にtrueを渡すと、debugを記述したファイル名と行番号を合わせて表示してくれます。

※デフォルトはfalse

サンプルコード:
$var = "Hello world!!";
debug($var, false, true);	

出力結果:
app/controllers/hoges_controller.php (line 199)
Hello world!!

これはプリントデバッグを複数仕込んだときに各々を識別するのに便利です。

以上です。

debugメソッドは、app/config/core.phpで定義したデバッグ変数「debug」が0より大きい場合にのみ有効です。

環境
CentOS 5.3
CakePHP 1.3.0-beta
前の記事 «
次の記事 »