[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поведение Logger в ZF2
Rand
Уважаемые знатоки Zend Framework 2, поясните пожалуйста логику работы логгера:
<?php
use Zend\Loader\StandardAutoloader;
use Zend\Log\Logger;
use Zend\Log\Writer;

defined('APPLICATION_PATH')
||
define('APPLICATION_PATH', realpath(dirname(__FILE__)));

require_once APPLICATION_PATH .'/lib/Zend/Loader/StandardAutoloader.php';

$loader = new StandardAutoloader(array('autoregister_zf' => true));
$loader->registerNamespace('Zend', APPLICATION_PATH . '/lib/Zend');
$loader->register();

$logger = new Logger;
$logger->addWriter(new Writer\Stream('php://output'));
Logger::registerErrorHandler($logger);

//--------------------------------------------------------------------------

function foo(array $param) {
echo "It's works!" . PHP_EOL;
}

$obj = new ArrayObject();

foo($obj);
foo($obj);

Вывод:
Цитата

2013-04-27T22:15:28+07:00 ERR (3): Argument 1 passed to foo() must be of the type array, object given, called in /home/rand/code/test.php on line 27 and defined {"errno":4096,"file":"\/home\/rand\/code\/test.php","line":21,"context":"[]"}
It's works!
PHP Catchable fatal error:  Argument 1 passed to foo() must be of the type array, object given, called in /home/rand/code//test.php on line 28 and defined in /home/rand/code/test.php on line 21
PHP Stack trace:
PHP   1. {main}() /home/rand/code/test.php:0
PHP   2. foo() /home/rand/code/test.php:28
Получается, что первый раз ошибку обработал логгер, но не вызывал die(). Второй раз логгер ошибку не обрабатывает, почему?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.