2

我只是在我的 getServiceConfig() 上像这样设置 FirePHP:

 use FirePHP as FirePHP;
 use Zend\Log\Logger;
 use Zend\Log\Writer\FirePhp as FirePhpWriter;
 use Zend\Log\Writer\FirePhp\FirePhpBridge;

'logger_firebug' => function($sm) {

    $log = new Logger();
    $writer = new FirePhpWriter(new FirePhpBridge(new FirePHP()));
    $log->addWriter($writer);
    return $log;
 },

但是当我尝试像这样使用控制器上的信息功能时:

    $loger = $this->getServiceLocator()->get('logger_firebug');     
    $loger->info($this);

它给了我一个内部错误“NetworkError:500 Internal Server Error”我想要做的是显示对象的var_dump。

有人可以帮助我如何显示任何对象结构吗?

谢谢

4

2 回答 2

3

尝试保留一个实例$firephp = new FirePHP()并使用$firephp->info($this)来记录消息。

于 2013-01-16T03:42:32.653 回答
1

此消息准确地告诉您正在发生的事情。

$message must implement magic__toString()method

检查您会注意到的链接,每当在 a 的上下文中使用__toString()an 时,它总是会自动被调用。那么为什么会出现这个错误信息呢?简单:需要 a作为参数,但您正试图给它一个ObjectString$loger->$level()StringObject

如何解决这个问题?给它一个String

$loger->info(\Zend\Debug\Debug::dump($this, $label=null, false));
// Be sure to either set a $label (string) or set it to null
于 2013-01-11T06:32:29.250 回答