2015-12-02 13 views
6

У меня есть небольшое тонкие 3 приложения, и когда я бросаю исключение тонкого просто показывает общее сообщение об ошибке:Тонкие 3 ошибки черных дыр

Тонкого Application Error

ошибке сайта произошло. Извините за временные неудобства.

В стройной 2 вы можете сделать что-то вроде этого, чтобы включить режим отладки дает вам Цепочки вызовов и т.д.:

$app->config('debug', true); 

В стройной 3 там, кажется, не быть один. Кроме того, похоже, это переопределение моих обработчиков исключений и ошибок.

Как я могу получить тонкий выплюнуть ошибки, или, по крайней мере, назвать свои обработчики ошибок (которые труба выводится Kint отладочной информации)

+0

Какая версия Slim 3 вы используете? –

+0

'3.0.0-RC3' - но он тоже делал это с RC2 –

ответ

15

Глядя через источник, можно инициализировать стройный 3 с ошибкой отобразить следующим образом:

$app = new \Slim\App(['settings' => ['displayErrorDetails' => true]]); 

Я не уверен, если это возможно, чтобы изменить эту настройку после факта, не заменяя errorHandler вообще.

2

Чтобы показать полную трассировку стека в обработчике исключений по умолчанию, используйте j-v.

Если вы хотите обрабатывать исключения в Слим самостоятельно, то вам нужно, чтобы переопределить обработчик исключений Слима по умолчанию, как он будет использоваться, прежде чем ваш «не в Слим» обработчик ошибок:

$app = new \Slim\App(); 

$container = $app->getContainer(); 
$container['errorHandler'] = function(ServerRequestInterface $request, ResponseInterface $response, Exception $exception) { 
    //Handle exception here 
} 
1

Обработка ошибок достаточно хорошо документированы : http://www.slimframework.com/docs/handlers/error.html

$app = new \Slim\App(); 
$c = $app->getContainer(); 
$c['errorHandler'] = function ($c) { 
    return function ($request, $response, $exception) use ($c) { 
     return $c['response']->withStatus(500) 
           ->withHeader('Content-Type', 'text/html') 
           ->write('Something went wrong!'); 
     }; 
    }; 
Смежные вопросы