Comment puis-je jeter variables dans Yii pour le débogage?
Comment puis-je vider et imprimer les valeurs des variables dans Yii pour le débogage? Je voudrais utiliser var_dump()
ou print_r()
. J'ai essayé d'utiliser Yii::trace()
mais il se bloque avec cette erreur dans runtime/logs/app.log
. Il n'a même pas me dire la ligne dans mon code qu'il échoue.
2015-03-18 20:54:11 [::1][-][-][warning][yii\log\Dispatcher::dispatch] Unable to send log via yii\debug\LogTarget: Exception 'Exception' with message 'Serialization of 'SimpleXMLElement' is not allowed'
in /cygdrive/c/Users/Chloe/workspace/AffiliateArbitrage/vendor/yiisoft/yii2-debug/LogTarget.php:58
Stack trace:
#0 /cygdrive/c/Users/Chloe/workspace/AffiliateArbitrage/vendor/yiisoft/yii2-debug/LogTarget.php(58): serialize(Array)
#1 /cygdrive/c/Users/Chloe/workspace/AffiliateArbitrage/vendor/yiisoft/yii2-debug/LogTarget.php(112): yii\debug\LogTarget->export(Array)
#2 /cygdrive/c/Users/Chloe/workspace/AffiliateArbitrage/vendor/yiisoft/yii2/log/Dispatcher.php(183): yii\debug\LogTarget->collect(Array, true)
#3 /cygdrive/c/Users/Chloe/workspace/AffiliateArbitrage/vendor/yiisoft/yii2/log/Logger.php(170): yii\log\Dispatcher->dispatch(Array, true)
#4 [internal function]: yii\log\Logger->flush(true)
#5 {main}
De référence
http://www.yiiframework.com/doc-2.0/guide-runtime-logging.html
OriginalL'auteur Chloe | 2015-03-19
Vous devez vous connecter pour publier un commentaire.
Parce que vous demandez quelque chose comme
var_dump
etprint_r
, je peux vous conseiller intégré dans l'aide pour cela. Il est appelé yii\aides\VarDumper. Yii::trace() est pour la journalisation des messages de trace.Personnellement je ne l'utilise pas, juste essayé seul couple de fois pour le test.
Je pense que c'est mieux d'utiliser Xdebug pour que les fins.
Voir aussi PsySH.
Ajouter
exit
oudie
juste après vidage de la même manière qu'avec régulièrementvar_dump
etprint_r
.Ajout d'un lien vers un autre débogueur sera probablement vous aider avec ceci.
Psy SH semble vraiment bien mais il y a probablement quelque chose de mal avec elle. Compositeur ne pas installer un exécutable. Non seulement cela, il n'est pas clair comment connecter le shell sur le serveur web. Il dit qu'il va tomber dans un shell si vous ajoutez la ligne de débogage, mais PHP est en cours d'exécution dans Apache dans le fond! Comment afficher un shell? Il n'y a aucune mention de l'établissement d'un port ou quoi que ce soit pour le débogage à distance.
OriginalL'auteur arogachev
J'ai utilisé, mais je suis sûr qu'il ya une meilleure façon.
config/web.php
runtime/logs/app.log
En fait, je voulais voir des messages presque immédiatement dans des fichiers journaux pour Yii commandes. Cela m'a aidé, merci beaucoup
OriginalL'auteur Chloe
Utiliser ceci:
<?php echo '<pre>';print_r($model);exit; ?>
Bonjour, bienvenue. Si vous réalisez que vous avez oublié quelque chose, ou fait une erreur, vous devez vous modifier votre réponse, pas à laisser un commentaire. Les commentaires ne sont pas lus par tous, ils pourraient être supprimés, et ne pas permettre une bonne mise en forme du code. Un autre utilisateur a déjà suggéré une modification pour résoudre le problème: s'il vous plaît consulter, modifier votre réponse si vous pensez que c'est nécessaire, et puis retirer les commentaires. Merci!!!!
OriginalL'auteur user7866688
Utilisation, de voir votre variable ou un tableau d'objets.
use yii\helpers\VarDumper;
VarDumper::dump($variableArray , $dept = 10, $highlight = true);
De détails, vous pouvez lire la doc
http://www.yiiframework.com/doc-2.0/yii-helpers-basevardumper.html#dump (les)-détails
OriginalL'auteur Sukma Saputra
Vous pouvez le faire vous-même:
Dans votre page d'index principal (
back/index.php
oufront/index.php
) ajouter ce code en hautob_start();
. Ensuite, de définir 2 fonctions pour une meilleure miseet ajouter
ob_end_flush();
à la fin de la page index de votre site . Maintenant, vous pouvez appelerdd($model)
oudj($model)
. Là vous avez eu votre dumper de travail. Félicitations!OriginalL'auteur Nagibaba
J'avais écrit un article sur ce problème avec debug variables dans Yii 2:
Les détails et les instructions d'installation sont sur: https://dangnhsite.wordpress.com/2016/04/06/variable-debug-in-yii-2/
OriginalL'auteur Dang Nguyen