読者です 読者をやめる 読者になる 読者になる

肉とビールとパンケーキ by @sotarok

少し大人になった「肉とご飯と甘いもの」

ゲキカワXdebugでモテモテPHP開発

PHP Xdebug

今や PHP で開発するときに Xdebug は誰もが当然つかってるよね!!
まあ、「俺はそのままのエラーが好きなんだ」って人は置いておくとして。。。 大体の人は、stack traceがあると嬉しいとか、var_dump() 見やすいとか、そういうことで Xdebug ってのは愛用だとおもうんですよ!
IDE のひとは remote debugger としてつかってるのかな?

で、Xdebug、わかりやすいんだけど、どうもカワイサが足りないよね?なんかこう、毒々しいというかなんというか。。 開発中にエラーだしたときちょうど後ろをかわいいデザイナーの女の子が通りかかって画面が目に入ったとき「プログラマーってなんて品のない画面を見てるのかしら」なんて思われたらモテないよね!!

ってことで、まあ冗談はこのへんにしておいて、見た目が綺麗だとやる気も出る(?)ってことで、Xdebug の出力をかわいくしてみる。

Stylish を入れる

個人的にはブラウザはなんだかんだいいつつOpera派だけど、Web開発のときはやっぱり Firefox なので、対象は Fx のみ(追記: id:riaf によってChromeにも対応されたよ!merge済み。)。ユーザCSS管理用の拡張機能である Stylish をインストール。

User CSS をインストール *1

これをインストール。Stylish の使い方は適当にググる

すると ... !?

毒々しかった Xdebug のエラー画面が。。。

かわいくなった! (縮小して表示してるよ。)

var_dump() も。。。?

かわいくなった!

*2

Xdebug の設定

結構デフォルトのまま使ってる人が多いけど、ローカル変数のdumpとか、traceに引数の内容も表示するように設定しておくと便利。ただまあ、あんま出されると困るので var_display_max_depth もいっしょに設定しておくと良いかも。*3

  • Xdebug の設定例 (zend_extensionのところは、各自 xdebug.so へのpathに置き換えてね)
zend_extension=/usr/lib/php5/20090626/xdebug.so
xdebug.var_display_max_depth="2"
xdebug.show_local_vars="On"
xdebug.show_mem_delta="On"
xdebug.trace_options="4"
xdebug.collect_includes="On"
xdebug.collect_params="4"
xdebug.collect_return="On"
xdebug.collect_vars="On"
xdebug.dump_globals="On"
xdebug.scream="1"

あと、注意点としては、php.ini で html_errors が設定されてないとエラーがHTML整形されないよ。まあ、デバッグ環境では、これは On にしておきましょう!

宣伝

パーフェクトPHP (PERFECT SERIES 3)

パーフェクトPHP (PERFECT SERIES 3)

*1:class xdebug-なんちゃらが出てくるのって開発環境くらいだろうから、とおもって url-prefix とか設定してないんだけど、これってお行儀が悪いかな?まあいいか?

*2:ちなみに、エラー画面は PHP 5.3 でうごかしたばあいの Ethna 。。。。(ひどい

*3:というか、 show_mem_delta がうまいこと効いてない気がするんだけど気のせいですかね