2013-04-30 2 views
0

Я новый пользователь zend framework - 2, я пытаюсь использовать функцию Logger для моего сайта, может кто-нибудь мне помочь с этой проблемой.Zend framework2 Неустранимая ошибка: Class 'Application Controller Zend Log Writer Stream' не найден

Пожалуйста, помогите мне с записью 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 

И если возможно, поможет мне написать отдельный модуль для экспорта всей записи базы данных в excel. Спасибо

ответ

1

Просто попробуйте, что

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

или

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

Вы должны знать о PHP:namespace

После того, как вы включите классы через use -statement, у вас есть только назвать ClassName (CN), а не полностью классифицированное имя класса (FQCN)

С этим сказанным:

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

Альтернативой было бы не включать в себя классы через use -statement и просто называют FQCNs

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

обратить внимание ведущего \ обратной косой черты.

+0

Я тоже это пробовал, поскольку простой вход в ZF2 не прост. Я использовал $ writer = new \ Zend \ Log \ Writer \ Stream ('/ tmp/test.log) и $ logger = new \ Zend \ Log \ Logger ($ writer). Тем не менее, я получил эту ошибку «Параметры должны быть массивом или объектом, реализующим \ Traversable». А? ZF2 2.2.5. – AaplMike