我主要用python(pylons,pyramid)编程,但最近我在一些magento商店工作。因此,在 python 中,当出现问题时,我通常会通过打印行(类似于print "#"*20, some_variable
)来进行调试。
在 PHP 中,我知道我可以echo
等等print_r
。但是当控制器或块中出现问题时,我该如何调试呢?print
我也可以使用python中的某种函数吗?
您可以使用真正的调试器(XDebug)并像男人一样调试,带断点:)
在更简单的情况下,这两个快捷方式(在 Eclipse 中定义为模板为 vde/dae(var_dump 退出,打印数组退出))似乎是我最好的朋友:
echo '<pre>', var_dump($var), '</pre>'; exit;
echo '<pre>', print_r($var, true), '</pre>'; exit;
PHP 允许 echo 和 print_r,也可以在代码中的任何地方看到 var_dump。
除了有利于快速错误搜索的变量输出之外,您还可以使用 php 扩展(如 xdebug)和支持此功能的开发环境进行可视化调试。(我最喜欢的是 IntelliJ PHPStorm)
可视化调试允许您在代码中设置断点并直观地浏览您的代码,同时您可以看到所有变量内容、调用堆栈等 - 可爱的功能。
对您当前方法的一个小改进是使用 error_log()。此输出将输出到日志文件(通常是 /var/log/httpd/error_log),而不是输出到您的屏幕。