php - 在编写 PHP 代码(用于调试)时如何找出变量的值?

标签 php debugging symfony-1.4

我正在用 symfony 编写,并且位于 actions.class.php 文件之一中。

通常我只会echo变量的值,但因为这是一个 Action 类模块,所以我不能这样做,因为我无法输出到页面。

我正在考虑使用 FirePHP,但它涉及将其安装在服务器端,我想了解更简单或内置的解决方案。

最佳答案

通过电子邮件发送日志确实有效,但有一些更好、更简单和更快的方法可以做到这一点;)

在 symfony 中,您可以访问记录器,它允许您记录任何内容。在 prod 环境中,默认情况下它是禁用的(当然你可以将其打开),但在 dev 中,它不仅可以在日志文件中使用,还可以在 Sf Web 调试栏中打印。

在操作中使用:

$this->getLogger()->debug('My $variable value is now: '.$variable);

您还可以使用其他级别的日志记录(->warning('')->err('')->crit(' ') 等)。当然,如果是数组或对象,则需要将变量更改为字符串。

事实上,您可以在操作中echovar_dump 进行操作。它们将显示在您的页面中(尽管由于您在实际模板之前显示内容而严重扰乱了布局)。

请记住,echo 仅适用于字符串和数字。如果您尝试回显 bool 值或数组,您将看不到任何内容。如果您尝试回显对象,则将使用其 __toString() 方法或引发错误。

关于php - 在编写 PHP 代码(用于调试)时如何找出变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15146951/

相关文章:

堆损坏,C 中的错误

javascript - 在 IE 上调试 Javascript 的最佳方法是什么?

symfony1 - symfony 1.4 如何关闭一张注册表单的csrf保护?

php - Doctrine 2 实体中的常量

php - 是否可以在打开语句时直接通过链接运行 mysqli 查询?

php - 重定向后引荐丢失

php - 如何让 PHP 将我的其他页面正确打印到 iframe 中?

php - 如何在 sf_method 'delete' 之后重定向?

javascript - 交响乐团 : Using JavaScript in a onChange-event in a form and calling an action from the JS-Function

javascript - 最后一个下拉菜单无法根据前一个下拉菜单工作