Saya memiliki sekitar 40 entitas dan banyak hubungan dua arah. Setiap kali saya menggunakan var_dump ($ user) atau entitas apa pun, browser saya dimuat dengan terlalu banyak data array dan variabel maka itu hanya macet.
saya ingin apa masalahnya.
Data sedang dimasukkan dengan baik. Dapatkah saya menyebabkan masalah dalam produksi.
php
debugging
doctrine-orm
symfony-2.1
Mirage
sumber
sumber
Jawaban:
Ganti var_dump () dengan metode debug dump () yang disediakan oleh Doctrine Common .
Ini berfungsi untuk objek tunggal dan koleksi Doktrin dan akan mencegah masalah tampilan browser yang Anda alami.
sumber
dump()
dengan MaxDepth , didump()
argumen kedua adalah MaxDepth .error_log(print_r(\Doctrine\Common\Util\Debug::export($variable, $depth),1));
Cukup merepotkan untuk mengetik setiap saat, tetapi Anda dapat dengan mudah membuat makro untuknya.diformat dengan baik:
sumber
Contoh sederhana dan mudah.
sumber
Masalahnya adalah bahwa dalam hubungan dua arah, kedua entitas memiliki tautan satu sama lain, jadi saat menampilkan entitas1 var_dump juga harus mencetak semua properti entitas2, yang mencakup entitas1 itu sendiri yang memberi Anda loop.
sumber
Symfony <2.6
Anda dapat menggunakannya
\Doctrine\Common\Util\Debug::dump($variable, $depth);
untuk menampilkan keluaran doktrin tanpa informasi proxy.Symfony> 2.6.0
Jika Anda menggunakan symfony 2.6 atau lebih, saya sangat menyarankan Anda untuk menggunakannya
dump()
. Ini menunjukkan keluaran yang diformat dan diwarnai dengan baik, dan Anda dapat mengeluarkan / menyembunyikan baris secara dinamis.sumber
Get_object_vars () meningkatkan visualisasi juga.
sumber
Dengan Symfony 2.6 Anda sekarang bisa menggunakan dump ($ var) di controller Anda dan {{dump (var)}} di twig.
Pastikan untuk menambahkan ini ke file AppKernal.php Anda, di bagian array ('dev', 'test').
sumber
gunakan dump ($ user) dan Anda dapat melihat hasil yang sempurna di Symfony Profiler! semoga berhasil
sumber
Cukup gunakan echo serialize ($ user);
sumber