PHPのvar_dumpで悩む

最近、Zend Frameworkを使ってMVCなアプリを作っています。ほかのフレームワークやらテンプレートをそれほど使い込んだことはないんですが、やはり便利。言い方悪いですが、頭のいいPHP使いが考えて作ってる感があります。フレームワークのソースを追いかけては、なるほどなと思ったり。

デバッグする際、やっぱり初期段階では手軽なvar_dumpを使うんですよね。Zend_DebugZend_Logを使うのが作法なのかもしれませんが、ライブラリを読み込んだり、見栄えをよくするwrapperを作るのは面倒なので、素のvar_dumpを使っています。

たとえば、配列をvar_dumpすると、こんな感じに画面に表示されます。見にくいです。

var_dump.jpg

ソースを見ると、こんな感じ。

var_dumps.jpg

見にくいんですが、ソース見ればいいし、嫌なら<pre>で囲むという手も。ほかに表示がなければ、text/plainにしちゃうとか。
ところが、ふと気づくとローカルでテストしてるときだけ、カラフルになってることに気づきました。

var_dump_xdebug.jpg

ソースを見ると、<pre>とか<b>とか<font>が使われてます。これはなぜ?

php.iniを見たり、色々調べたりして悩んだ挙げ句、ようやく気づきましたよ。xdebugが有効になってるからでした。

いや、便利なんですが、原因がわからないというのは気持ちが悪いものです。

PHPUnitxdebugPhpDocumentorPhingをだだっとMacBook Proにまとめてインストールしたんですよ。その中に原因があるんだろう→extensionなxdebugが一番怪しいと気づくべきでした。

“PHPフレームワーク Zend Framework入門” (藤野 真吾)

1.5のプレビューリリース版がもう出ているので、1.0ベースの入門書は今のうちに勉強しておくべきかも。

Zend_LayoutとかZend_Formとか、新しいコンポーネントも便利そうです。


コメントを残す

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

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>