【发布时间】:2016-08-16 14:47:09
【问题描述】:
目前我遇到了一个难以修复的错误。该错误与\Request::route() 在触发notFoundHttpException 并呈现我的自定义错误视图时返回NULL 有关。
问题是我的应用程序需要当前路由才能执行各种操作。我认为..::route() 返回NULL 是“正常的”,因为路由不存在。
这是我显示自定义错误视图的地方:
// App\Exceptions\Handler
return response()->view('layouts.default', [
'main_content' => view('errors.'.$e->getStatusCode())
], $e->getStatusCode());
当我在视图中调用 \Request::route() 时,它会返回 NULL。
有人知道如何以干净的方式解决这个问题吗?
编辑
我目前正在开发的应用程序是一个多域系统。需要路由来确定当前请求的域。
所有路由都封装在一个组中:
Route::group(['domain' => {domain}.{tld}], function()
{
// Application routes...
}
确定域:
$domain = \Request::route()->domain;
$tld = \Request::route()->tld;
// Retrieve from database...
是的,有一些解决方法,例如:
// Url requested: mydomain.com/notexistingpage
$url_parameters = @explode(".", $_SERVER['HTTP_HOST']);
$domain = $url_parameters[0];
$tld = $url_parameters[1];
// Retrieve from database...
但是我想继续使用路由器来提供参数。我会将此问题标记为已回答。
【问题讨论】:
标签: laravel laravel-5 routes request