Ajax 利用時の var_dump と dump 関数の使い方
EC-CUBEなどのPHPやSymfonyを使った開発をする時によく使うvar_dumpやdump関数。 デバッグに使う人も多いと思いますが、今回はAjaxを使った時に これらの関数を利用する方法をご紹介したいと思います。
Ajaxを使うと非同期で処理が行われるため、 画面上に内容が出力されるわけではありません。 そこで利用するのが、ブラウザ機能のDevToolsや、 Symfony Profilerというフレームワーク用のデバッグツールになります。
確認の仕方は簡単です。
DevTools (ChromeやEdge Betaなど)
デバッグをしたいページを表示した状態で、 F12キー(Windowsの場合。Macの場合はCommand+Option+Iキー) を押すと表示されます。
その後、Nerwork > XHRのタグを選択し、 デバッグしたいページを再読み込みします。 そしてAjaxを動かす操作をすると、 ファイル一覧の部分に実行したファイルが表示されますので、 該当のファイルをクリックします。 すると、横のPreviewタブ、Responceタブに var_dumpした内容が表示されています。
これを使えば、Ajaxでもお手軽にデバッグができますね。
Symfony Profiler
Symfonyを使っていると、dump関数が利用できます。 var_dumpよりもオブジェクトをきれいに表示してくれたり、 リクエストやレスポンスなど、様々な役に立つ情報を 表示してくれる優れものです。
Symfony Profilerを使っても、 Ajax時にdumpした内容を確認することができます。
Symfonyのデバッグモードを有効にした状態で、Ajaxを動かす操作をします。 そうすると、下部ツールバーのリロードマークのようなところに AjaxリクエストしたURLなどが表示されています。 そこのProfileの項目をクリックすると、そのリクエストの詳細が表示されます。その中で、Debugの項目を見るとdumpした内容を確認することができます。
こちらはdumpした内容だけでなく、 Ajaxで送信したPOSTパラメータなども確認できるので便利です。