Trop de données avec var_dump dans symfony2 doctrine2
Que j'ai autour de 40 entités et de nombreux les relations bidirectionnelles.
Chaque fois que j'utilise var_dump($utilisateur) ou toute entité mon navigateur est chargé avec trop de données de tableaux et variables, alors qu'il vient de tomber en panne.
je veux ce qui est le problème.
L'insertion de données d'amende. Puis-je cause problème dans la production.
- Ce navigateur parlons-nous?
- Êtes-vous à l'aide de xdebug? Si non, envisagez de l'utiliser et au lieu de var_dump simplement faire usage de l'étape du débogueur avec un IDE comme Ecplipse, Netbeans ou PHPStorm. Tous ces va afficher les données de variables bien.
- Qu'entendez-vous par "s'écraser" - l'application de navigateur (ou onglet) fermer, ou il affiche pas de résultat, ou la page est interrompu?
- mon navigateur affiche très longue page de données de variables avec tous mes entiies et tout ça. regarde comme il va à jamais de fin de boucle. j'ai essayé botf firefox et chrome. si j'essaie de tout autre classe qui n'a aucun rapport, alors il fonctionne ok mais avec de nombreuses relations, c'freezez l'ordinateur. j'ai eu à la fin de la tâche qui
- J'ai un bare-bones classe et mon navigateur s'est écrasé aussi. Je suis à haïr tous ces retardé par défaut.
- Cela est également vrai pour ZF2!
- xdebug est certainement ce dont vous avez besoin, oui!
Vous devez vous connecter pour publier un commentaire.
Remplacer var_dump() avec la méthode de débogage dump() fournis par La Doctrine Commune.
Il travaille pour des objets et de la Doctrine des collections et devrait empêcher le navigateur affichant des problèmes que vous rencontrez.
dump()
avec MaxDepth, dansdump()
deuxième argument est MaxDepth.error_log(print_r(\Doctrine\Common\Util\Debug::export($variable, $depth),1));
C'est assez fastidieux à taper à chaque fois, mais vous pouvez facilement créer une macro pour cela.bien mis en forme :
Simple et facile exemple.
serialize
sortie simple et facile à lire.Symfony < 2.6
Vous pouvez utiliser
\Doctrine\Common\Util\Debug::dump($variable, $depth);
il affiche la doctrine de sortie sans les informations de proxy.Symfony > 2.6
Si vous êtes à l'aide de symfony 2.6 ou plus, je vous conseil vivement de vous utiliser
dump()
.Il montre bien formaté et de couleur de sortie, et vous pouvez dynamiquement dépenser de l'/masquer les lignes.
Le problème est que dans une relation bidirectionnelle les deux entités ont un lien vers chaque autre, de sorte que lors de l'affichage de l'entité1 var_dump aura aussi d'imprimer toutes les propriétés de entity2, qui comprennent l'entité1 lui-même vous donner une boucle.
La get_object_vars() améliorer la visualisation de trop.
Avec Symfony 2.6 désormais, vous pouvez simplement utiliser dump($var) dans votre contrôleur et {{ dump(var) }} dans twig.
Assurez-vous d'ajouter à votre AppKernal.php fichier, dans l'array('dev', 'test') de la section.
utiliser dump($utilisateur) et vous pouvez voir le résultat parfait dans Symfony Profiler! bonne chance
Suffit d'utiliser
echo serialize($utilisateur);