PHPでvar_dump()を使ったお手軽デバッグコード
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
WebサービスのAPIやRSSを使ってPHPで何か作るときは、simplexml_load_file()やfile_get_contents()などの関数、XML_Unserializer(ライブラリ)を用いて、APIレスポンスが返したXMLのオブジェクトや配列から、出力のための処理を行うわけですが・・・
それらの返されたXMLの構造を視認性よく確認するために、開発時には、var_dump()関数を用いたデバッグ用のコードを、必要な箇所に埋め込んでおくと便利です。
PHPのvar_dump()関数は、引数で渡した変数の構造を見やすく整形して返してくれます。
以下のように、XMLレスポンスを確認したい箇所に、デバッグ用のコードを埋め込む。
echo '<pre>'; var_dump($xml_res); echo '</pre>'; exit(); // デバッグ用。公開時コメントアウト
var_dump()を使うときは、htmlのpreタグで囲んでやんないと、改行が反映されなくてめちゃ見難い。
アフィリエイトは儲かんないってば:PEARライブラリ「Var_Dump」で、配列をヴィジュアル的に理解する – livedoor Blog(ブログ)
var_dump関数で、実際に表示したものがこちらです。
構造はわからない事は無いですが(今まではこれで見ていましたがw)、読みづらいですよね。なんと言うか、詰め込みすぎな感じです。
PEARライブラリに、「Var_Dump」というクラスがあるらしく、これを使っても良さそうですけど、preタグで囲んでやるほうがお手軽簡単だと思います。
exit();は、スクリプトの実行を、そこで中止するために書いてますけど、レスポンス情報の構造確認と出力表示の整形確認を同時に行いたい場合は、exit();を省いてやっても良い。
そして、本格オープンしたら・・・
//echo '<pre>'; var_dump($xml_res); echo '</pre>'; exit(); // デバッグ用。公開時コメントアウト
と、行頭にスラッシュ2本「//」をつけてコメントアウトして、デバッグコードの実行を無効にします。
preタグと言えば・・・
preタグメーカーという、プログラムソースを綺麗に表示するためのツールを公開しています。
MTをお使いでpreタグで、綺麗にソースを表示させたい場合は・・・
1.preタグ内で、2回改行して空の行を作らない。
2.<pre>タグのすぐ上に、1行だけ空の行を作る。(2行以上、空けてはいけない。)
のルールを守れば、綺麗にソースを表示できます。
ひろっちさんのブログで、preタグメーカーをご紹介いただきました。
PSPプログラムFAN: preタグ・メーカー
ありがとうございます、ひろっちさん。
C言語は学習中なのですが、難しいです・・・orz
- - 関連記事 -
- strpos() や strcmp() など間違えやすいif文での判定
- htmlentities() と htmlspecialchars() の違い
- PHPの内部エンコードと出力文字コード、スクリプト文字コード
- PHPのデバッグ・xdebugをxamppで有効にする
- CakePHPの日本語対応、国際化
- コマンドラインでPHPが起動できない
- 直接ファイルが実行されたときだけ起動するスクリプト
- ディレクトリを探索してリンク一覧表示
- PHPとRubyのコードの書き方を比較
- コメントアウトの使い分けと、/*** ~ ***/とか// — を単語登録
- プログラミング練習問題をPHPで解いてみた
- CakePHPはMVCかつフルスタックのフレームワーク
- PHP5のクラス定義とオブジェクトのおさらい
- フレームワークCakePHPにチャレンジ
- sort・asort・ksort 配列を並べ替える関数
- foreach構文
- PHPの配列
- strcmp関数
- strcasecmp関数
- PHPヒアドキュメント