0

我主要用python(pylons,pyramid)编程,但最近我在一些magento商店工作。因此,在 python 中,当出现问题时,我通常会通过打印行(类似于print "#"*20, some_variable)来进行调试。

在 PHP 中,我知道我可以echo等等print_r。但是当控制器或块中出现问题时,我该如何调试呢?print我也可以使用python中的某种函数吗?

4

3 回答 3

1

您可以使用真正的调试器(XDebug)并像男人一样调试,带断点:)

在更简单的情况下,这两个快捷方式(在 Eclipse 中定义为模板为 vde/dae(var_dump 退出,打印数组退出))似乎是我最好的朋友:

echo '<pre>', var_dump($var), '</pre>'; exit;
echo '<pre>', print_r($var, true), '</pre>'; exit;
于 2012-11-28T22:17:21.103 回答
0

PHP 允许 echo 和 print_r,也可以在代码中的任何地方看到 var_dump。

除了有利于快速错误搜索的变量输出之外,您还可以使用 php 扩展(如 xdebug)和支持此功能的开发环境进行可视化调试。(我最喜欢的是 IntelliJ PHPStorm)

可视化调试允许您在代码中设置断点并直观地浏览您的代码,同时您可以看到所有变量内容、调用堆栈等 - 可爱的功能。

于 2012-11-28T22:25:08.970 回答
0

对您当前方法的一个小改进是使用 error_log()。此输出将输出到日志文件(通常是 /var/log/httpd/error_log),而不是输出到您的屏幕。

于 2012-11-28T22:16:36.627 回答