私は約40のエンティティと多くの双方向の関係を持っています。var_dump($ user)または任意のエンティティを使用するたびに、配列と変数のデータが多すぎるブラウザーが読み込まれると、クラッシュしました。
私は問題をいただきたいです。
データは正常に挿入されています。本番環境で問題が発生する可能性がありますか?
私は約40のエンティティと多くの双方向の関係を持っています。var_dump($ user)または任意のエンティティを使用するたびに、配列と変数のデータが多すぎるブラウザーが読み込まれると、クラッシュしました。
私は問題をいただきたいです。
データは正常に挿入されています。本番環境で問題が発生する可能性がありますか?
回答:
var_dump()をDoctrine Commonが提供するデバッグメソッドdump()で置き換えます。
\Doctrine\Common\Util\Debug::dump($user);
それは単一のオブジェクトとDoctrineのコレクションで機能し、あなたが抱えている問題をブラウザが表示するのを防ぎます。
dump()
でMAXDEPTH、中dump()
二番目の引数であるMAXDEPTH。
error_log(print_r(\Doctrine\Common\Util\Debug::export($variable, $depth),1));
毎回入力するのはかなり面倒ですが、そのためのマクロを簡単に作成できます。
うまくフォーマットされた:
echo '<pre>';
\Doctrine\Common\Util\Debug::dump($user, $recurciveLevelToDisplay);
echo '</pre>';
問題は、双方向の関係では両方のエンティティが相互にリンクしているため、entity1を表示している間、var_dumpはエンティティ2のすべてのプロパティを出力する必要があることです。
get_object_vars()は視覚化も改善します。
echo "<pre>";
\Doctrine\Common\Util\Debug::dump(get_object_vars($user));