2015-04-30 1 views
3

Я разрабатываю пакет для Laravel 5, и я хотел бы добавить логику рендеринга моих собственных исключений по умолчанию ExceptionHandler.Laravel 5 - Добавить логику визуализации исключений из пакета

Я не хочу заменять обработчик исключений Laravel 5 по умолчанию, просто хочу, чтобы приложение, в котором установлен мой пакет, знало, как должны отображаться мои исключения пакетов.

Как я могу это сделать? Спасибо :)

ответ

2

Если вы хотите заменить обработчик исключений приложений, вы можете сделать это у своего поставщика услуг. Хотя было бы неплохо распространиться из обработчика исключений приложений, это было бы сложно, потому что его нельзя было бы назвать App\Excpetions\Handler, если разработчики изменили пространство имен приложений.

$app->singleton(
    'Illuminate\Contracts\Debug\ExceptionHandler', 
    'Vendor\Package\ExceptionHandler' 
); 

В противном случае, вы могли бы рассмотреть возможность предоставления признака, что разработчик может тянуть в свои собственные ExceptionHandler и использовать ваши дополнительные функциональные возможности таким образом.

+0

Спасибо @dwight за ваш ответ :) Итак, вы предлагаете создать признак с методом, который отображает мои исключения, и попросить пользователя вызвать этот метод в 'render()' своего обработчика исключений, правильно? –

+0

Да, это было бы мое предложение. Черта кажется как самый простой способ подключиться к обработчику исключений Laravel без удаления какого-либо элемента управления разработчика. – Dwight

+0

У меня получилось, я надеялся, что есть способ зарегистрировать мою логику визуализации исключений у поставщика услуг. Спасибо чувак :) –