Tenho cerca de 40 entidades e muitos relacionamentos bidirecionais. Sempre que eu uso var_dump ($ user) ou qualquer entidade, meu navegador é carregado com muitos dados de arrays e variáveis, então ele simplesmente travava.
eu quero qual é o problema.
Os dados estão sendo inseridos corretamente. Posso causar problemas na produção.
php
debugging
doctrine-orm
symfony-2.1
Miragem
fonte
fonte
Respostas:
Substitua var_dump () pelo método de depuração dump () fornecido pelo Doctrine Common .
Ele funciona para objetos únicos e coleções do Doctrine e deve evitar que o navegador exiba os problemas que você está tendo.
fonte
dump()
com MaxDepth , emdump()
segundo argumento é MaxDepth .error_log(print_r(\Doctrine\Common\Util\Debug::export($variable, $depth),1));
É muito complicado digitar todas as vezes, mas você pode facilmente criar uma macro para ele.bem formatado:
fonte
Exemplo simples e fácil.
fonte
O problema é que em um relacionamento bidirecional ambas as entidades têm um link entre si, portanto, enquanto exibe a entidade1, o var_dump também terá que imprimir todas as propriedades da entidade2, que incluem a própria entidade1, fornecendo um loop.
fonte
Symfony <2.6
Você pode usá-
\Doctrine\Common\Util\Debug::dump($variable, $depth);
lo para exibir a saída da doutrina sem as informações do proxy.Symfony> 2.6
Se você estiver usando o symfony 2.6 ou mais, recomendo fortemente que você use
dump()
. Ele mostra uma saída bem formatada e colorida, e você pode expandir / ocultar linhas dinamicamente.fonte
O get_object_vars () melhora a visualização também.
fonte
Com o Symfony 2.6 agora você pode apenas usar dump ($ var) em seu controlador e {{dump (var)}} no twig.
Certifique-se de adicionar isso ao seu arquivo AppKernal.php, na seção array ('dev', 'test').
fonte
use dump ($ user) e você poderá ver o resultado perfeito no Symfony Profiler! boa sorte
fonte
Apenas use echo serialize ($ user);
fonte