2016-06-20 1 views
0

Эй, я хочу использовать текущий объект запроса в качестве фасада не статическим способом ($request не Request::) в пользовательском файле лезвия 404.получить текущий запрос в 404 странице

Я не знаю, могу ли я намекнуть об этом обработчику ошибок или есть способ создать этот объект?

Должен/Могу ли я сделать это через файл Expections/Handler.php?

Я нашел Here следующий ответ:

//Create a view and set this code in app/Exception/Handler.php : 

/** 
* Render an exception into a response. 
* 
* @param \Illuminate\Http\Request $request 
* @param \Exception $e 
* @return \Illuminate\Http\Response 
*/ 
public function render($request, Exception $e) 
{ 
    if($e instanceof NotFoundHttpException) 
    { 
     return response()->view('missing', [], 404); 
    } 
    return parent::render($request, $e); 
} 

//Set this use to get it working : 

use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; 

Является ли это правильный способ сделать это?

ответ

1

Да, вы можете сделать это с помощью Handler. Внутри визуализации() метод:

if ($e instanceof NotFoundHttpException) { 
    return response()->view('your.view.name', $dataYouWantToPass); 
} 
+0

является то, что "Laravel" способ справиться с этим? –

+0

@ eric.itzhak Абсолютно, вы можете прочитать его в документации https://laravel.com/docs/5.2/errors#the-exception-handler. – TheFallen

+0

Благодарим вас за помощь. –