我正在尝试找到在浏览器中调试PHP的最佳方法。
编辑:
我知道xdebug,var_dump和print_r;那不是重点。 a)我想要一种在网站上线时调试的方法(我知道,这很糟糕,但有时需要快速修复),b)在整个网页上转储PHP变量很难看,而且c)我有时需要知道为什么AJAX调用不起作用,并且在控制台中查看JSON更容易。
可能的其他解决方案包括将调试输出包装在隐藏的div中,例如
<div id="debug"><?php var_dump($all_the_junk) ?></div><script>document.getElementById('debug').style.display='none'</script>
然后输入类似
的内容document.getElementById('debug')style.display = 'block'
进入控制台。
但是说实话,这种情况很糟糕,并且无法以一种整洁的方式看到一切。
EndEdit中;
所以,无论如何,我有以下代码:
function log_as_json($vars)
{
if(is_resource($vars)) {
return;
}
else {
if($vars)
{
$json = @json_encode($vars);
print "<script>console.log($json);</script>";
}
}
}
问题是偶尔我会得到这些可怕的递归,但我不确定检查json_encode支持的类型的最佳方法是什么。我还怀疑有更好的方法来做到这一点。建议将不胜感激。谢谢!
答案 0 :(得分:3)
最好的方法是使用xdebug和允许您设置断点的IDE
答案 1 :(得分:3)
如果您真的热衷于在浏览器中进行调试,我建议使用Chrome Logger(以前称为ChromePHP)。
答案 2 :(得分:0)
答案 3 :(得分:0)
我知道这很老了,但这是一种对我有用的方法,只需在需要时调用该函数即可。
function console_log( $data ){
echo '<script>';
echo 'console.log('. json_encode( $data ) .')';
echo '</script>';
}