我有大約40個實體和許多雙向關係。 每當我使用var_dump($ user)或者任何實體時,我的瀏覽器會被加載太多數組和變量的數據,那麼它就會崩潰。symfony2中var_dump的數據太多doctrine2
我想要什麼的問題。
的數據被插入細。我可以在生產中引起問題嗎?
我有大約40個實體和許多雙向關係。 每當我使用var_dump($ user)或者任何實體時,我的瀏覽器會被加載太多數組和變量的數據,那麼它就會崩潰。symfony2中var_dump的數據太多doctrine2
我想要什麼的問題。
的數據被插入細。我可以在生產中引起問題嗎?
替換var_dump()用調試方法dump()由Doctrine Common提供。
\Doctrine\Common\Util\Debug::dump($user);
它適用於單個對象和Doctrine集合,並應防止瀏覽器顯示您遇到的問題。
感謝好友,完美的工作 – user825904 2012-08-13 12:59:57
它適用於多個結果與數組 – GusDeCooL 2013-10-16 09:16:23
你也可以用** MaxDepth **,dump()'第二個參數是** MaxDepth **轉儲()。 – 2013-12-02 09:26:59
的問題是,在一個雙向的關係,兩個實體有一個鏈接到對方,所以在顯示使用實體的var_dump也將打印ENTITY2的所有特性,包括ENTITY1本身給你一個循環。
以及格式化:
echo '<pre>';
\Doctrine\Common\Util\Debug::dump($user, $recurciveLevelToDisplay);
echo '</pre>';
的get_object_vars()提高可視化了。
echo "<pre>";
\Doctrine\Common\Util\Debug::dump(get_object_vars($user));
只是使用 echo serialize($ user);
隨着Symfony的2.6現在你只需使用dump($ VAR)在你的控制器和{{轉儲(VAR)}}在樹枝。
確保它添加到您的AppKernal.php文件,數組(「開發」,「測試」)部分。
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
簡單而簡單的例子。
var_dump(serialize($Object));
我不會稱'serialize'輸出簡單易讀。 – 2017-12-12 18:21:06
使用dump($ user),您可以在Symfony Profiler中看到完美的結果!好運
,我們談論的是什麼瀏覽器? – 2012-08-10 12:57:14
你使用xdebug嗎?如果沒有,請考慮使用它,而不是var_dump,只需使用帶有Ecplipse,Netbeans或PHPStorm等IDE的分步調試器即可。所有這些都會很好地顯示變量數據。 – hakre 2012-08-10 12:57:20
「崩潰」是什麼意思 - 瀏覽器應用程序(或選項卡)關閉,還是顯示沒有結果,或頁面中斷? – Yuriy 2012-08-10 12:57:33