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よりもオブジェクトをきれいに表示してくれるだけでなく、
リクエストやレスポンスなど、様々な役に立つ情報を表示してくれる。

もちろんAjaxの時も、dump関数で内容を確認することができます。

使い方は、Symfonyのデバッグモードを有効にした状態で、Ajaxを動かす操作をする。
そうすると、下部ツールバーのリロードマークのようなところに、リクエストしたURLなどが表示されているので、
そこのProfileの項目をクリックすると、リクエストの詳細が表示される。
そこからDebugの項目を見るとdumpした内容を確認することができる。

dump関数は内容だけでなく、Ajaxで送信したPOSTパラメータなども確認できるから便利。