2

我正在用 symfony 写,我在其中一个actions.class.php文件中。

通常我只是echo变量的值,但因为这是一个动作类模块,我不能这样做,因为我不能输出到页面。

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

4

3 回答 3

2

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

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

在动作内部使用:

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

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

事实上你可以在行动的同时echovar_dump事情发生。它们将显示在您的页面中(尽管在实际模板之前显示内容时布局很混乱)。

请记住,echo仅适用于字符串和数字。如果您尝试回显布尔值或数组,您将什么也看不到。如果您尝试回显一个对象,它将__toString()使用它的方法或引发错误。

于 2013-03-01T08:20:19.420 回答
1

如果您有权访问服务器的日志文件,您可能需要查看 PHP 的error_log函数。它将在 PHP 的错误日志中打印一个字符串,然后您可以检查日志文件。

-edit-: error_log 还允许您通过电子邮件向自己发送消息。但这很愚蠢。

于 2013-02-28T22:41:15.817 回答
1

在整个代码中给自己发电子邮件。您可以在脚本末尾或整个过程中发送一个。两者都有好处。如果您没有收到电子邮件并且在最后发送电子邮件可以节省开销,那么整个发送电子邮件将很容易让您知道哪里出了问题(虽然这似乎不是问题)。

于 2013-02-28T22:41:38.137 回答