web-dev-qa-db-fra.com

Trop de données avec var_dump dans symfony2 doctrine2

J'ai environ 40 entités et de nombreuses relations bidirectionnelles. À chaque fois que j'utilise var_dump ($ user) ou une entité quelconque, mon navigateur est chargé avec trop de données de tableaux et de variables, il tombe en panne.

je veux quel est le problème.

Les données sont insérées correctement. Puis-je causer problème en production.

97
user825904

Remplacez var_dump () par la méthode de débogage dump () fourni par Doctrine Common .

\Doctrine\Common\Util\Debug::dump($user);

Cela fonctionne pour des objets simples et des collections Doctrine) et devrait empêcher le navigateur d’afficher les problèmes que vous rencontrez.

219
mgiagnoni

bien formaté:

echo '<pre>';
\Doctrine\Common\Util\Debug::dump($user, $recurciveLevelToDisplay);
echo '</pre>';
20
Bouchehboun Saad

Exemple simple et facile.

var_dump(serialize($Object));
4
Kentaro Ohkouchi

Symfony <2.6

Vous pouvez utiliser \Doctrine\Common\Util\Debug::dump($variable, $depth); il affiche doctrine le résultat sans les informations sur le proxy).

Symfony> 2.6

Si vous utilisez symfony 2.6 ou plus, je vous conseille vivement d'utiliser dump(). Il affiche une sortie bien formulée et colorée, et vous pouvez utiliser/masquer de manière dynamique des lignes. enter image description here

4
goto

Avec Symfony 2.6, vous pouvez désormais utiliser simplement dump ($ var) dans votre contrôleur et {{dump (var)}} dans twig.

Assurez-vous de l'ajouter à votre fichier AppKernal.php, dans la section array ('dev', 'test').

$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
2
J-who

Le problème est que, dans une relation bidirectionnelle, les deux entités ont un lien l'une avec l'autre. Par conséquent, lors de l'affichage de entity1, var_dump devra également imprimer toutes les propriétés de entity2, y compris entity1, ce qui vous donne une boucle.

2
Rad80

utilisez dump ($ user) et vous obtiendrez un résultat parfait dans Symfony Profiler! bonne chance

2
Vitaly Pugach

La méthode get_object_vars () améliore également la visualisation.

echo "<pre>";
\Doctrine\Common\Util\Debug::dump(get_object_vars($user));
2
Wellington Lorindo

Il suffit d'utiliser echo serialize ($ user);

1
AlexM