Mam około 40 jednostek i wiele relacji dwukierunkowych. Za każdym razem, gdy używam var_dump ($ user) lub jakiejkolwiek jednostki, moja przeglądarka jest ładowana zbyt dużą ilością danych tablic i zmiennych, po prostu się zawiesiła.
chcę, w czym problem.
Dane są wstawiane prawidłowo. Czy mogę spowodować problem w produkcji?
Odpowiedzi:
Zastąp var_dump () metodą debugowania dump () dostarczoną przez Doctrine Common .
Działa dla pojedynczych obiektów i kolekcji Doctrine i powinno zapobiegać wyświetlaniu przez przeglądarkę problemów, które masz.
źródło
dump()
z MaxDepth , wdump()
drugim argumencie jest MaxDepth .error_log(print_r(\Doctrine\Common\Util\Debug::export($variable, $depth),1));
wskazówek: Pisanie za każdym razem jest dość kłopotliwe, ale możesz łatwo utworzyć dla niego makro.dobrze sformatowany:
źródło
Prosty i łatwy przykład.
źródło
Problem polega na tym, że w relacji dwukierunkowej obie encje mają ze sobą łącze, więc podczas wyświetlania obiektu entity1 var_dump będzie musiał również wydrukować wszystkie właściwości entity2, które obejmują samą jednostkę entity1, dając pętlę.
źródło
Symfony <2.6
Możesz go użyć,
\Doctrine\Common\Util\Debug::dump($variable, $depth);
aby wyświetlić wyniki doktryny bez informacji proxy.Symfony> 2.6
Jeśli używasz symfony w wersji 2.6 lub nowszej, zdecydowanie radzę ci używać
dump()
. Pokazuje dobrze sformatowane i kolorowe wyjście, a wiersze można dynamicznie przesuwać / ukrywać.źródło
Funkcja get_object_vars () również poprawia wizualizację.
źródło
W Symfony 2.6 możesz teraz po prostu użyć dump ($ var) w swoim kontrolerze i {{dump (var)}} w twig.
Upewnij się, że dodałeś to do swojego pliku AppKernal.php, w sekcji array ('dev', 'test').
źródło
użyj dump ($ user) i możesz zobaczyć doskonały wynik w Symfony Profiler! powodzenia
źródło
Po prostu użyj echo serialize ($ user);
źródło