Zend framework2致命错误:找不到类'Application \ Controller \ Zend \ Log \ Writer \ Stream'

时间:2013-04-30 15:31:49

标签: zend-framework2

我是zend框架的新用户 - 2,我正在尝试使用Logger功能为我的网站任何人帮我解决这个问题。

请帮助我登录IP和TIMESTAMP以及。

我已将这些代码添加到我的IndexController.php

use Zend\Log\Logger;
use Zend\Log\Writer\AbstractWriter;
use Zend\Log\Filter\FilterInterface;
use Zend\Log\Formatter\FormatterInterface;
use Zend\Log\Writer\Stream;

然后在我的indexAction中我正在使用

    $writer = new Zend\Log\Writer\Stream('php://output');
    $formatter = new Zend\Log\Formatter\Simple('%timestamp% %message%' . PHP_EOL);
    $writer->setFormatter($formatter);
    $logger = new Zend\Log\Logger();
    $logger->addWriter($writer);
    $logger->info('Informational message');

但我收到此错误

Fatal error: Class 'Application\Controller\Zend\Log\Writer\Stream' not found

如果可能的话,帮我编写一个seprate模块,将所有数据库条目导出到excel。 谢谢

2 个答案:

答案 0 :(得分:3)

您应该了解PHP:namespace

一旦通过use语句包含类,您只需要调用ClassName(CN)而不是完全限定的ClassName(FQCN)

话虽如此:

$writer    = new Stream();
$formatter = new Simple();
$logger    = new Logger();

另一种方法是不通过use语句包含类,只需调用FQCNs

$writer    = new \Zend\Log\Writer\Stream();
$formatter = new \Zend\Log\Formatter\Simple();
$logger    = new \Zend\Log\Logger();

注意领先的\反斜杠。

答案 1 :(得分:1)

试试吧

$writer = new \Zend\Log\Writer\Stream('php://output');

$writer = new Stream('php://output');