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パラメータなども確認できるから便利。