2016-02-17 4 views
3

Как определить пользовательские файлы View для каждого из ответов об ошибках HTTP, а затем попросить laravel автоматически отправить этот файл просмотра пользователю, когда я возвращаю ответ об ошибке HTTP в моем приложении?Как вернуть пользовательский вид для ответа HTTP-ошибки в Laravel 5?

+0

Вы имеете в виду код ошибки возврата, тогда Laravel возвращает соответствующий пользовательский вид? –

ответ

4

В принципе вы можете определить страницу для каждого кода ошибки HTTP и поместить его в resources/views/errors/

Итак, если вы хотите создать представление для ответа на 404 HTTP, вы должны создать представление:

resources/views/errors/404.blade.php 

и Laravel автоматически перенаправят ваших пользователей к определенному виду.

Кроме того, вы можете настроить класс App\Exceptions\Handler, который отвечает за ошибки отображения из-за исключений: render met корыто называется каждый раз Exception поднимается, так что вы можете перехватить HttpException порожденную ошибки HTTP и перенаправлять туда, куда вы хотите:

public function render($request, Exception $e) 
{ 
    //if $e is an HttpException 
    if ($e instanceof HttpException) { 

     //get the status code 
     $status = $e->getStatusCode() ; 

     //if status code is 501 redirect to custom view 
     if($status == 501) 
      return response()->view('my.custom.view', [], 501); 
    } 

    return parent::render($request, $e); 
} 
+0

Могу ли я отправить ошибку 501 с моего контроллера следующим образом: return response() -> view ('my.custom.view', [], 501); – Salar

+0

@Salar: Да, но использование метода 'render'' Handler' сделает его автоматическим: каждый раз, когда в APP возникает ошибка 501, запускается метод «render», и представление будет отображаться вместе с кодом состояния , В вашем случае вы возвращаете представление вручную, передавая код состояния – Moppo

0

Первый в .env файл изменения APP_DEBUG=true в APP_DEBUG=false
Второму создать свой собственный файл и переименовать до 404.balde.php и копировать по адресу

resources/views/errors/404.blade.php 
Смежные вопросы