2016-08-16 92 views
0

目前我遇到了一個我覺得難以解決的錯誤。該錯誤涉及\Request::route()返回NULLnotFoundHttpException被觸發,並且我的自定義錯誤視圖被呈現。Laravel 5 - 不適用於notFoundHttpException的路由

問題是我的應用程序需要當前的路線才能做各種事情。我認爲..::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... 

不過,我想繼續使用路由器來提供參數。我將這個問題標記爲已回答。

回答

0

試試這個

\Route::getFacadeRoot()->current()->uri(); 

\Route::getCurrentRoute(); 
+0

謝謝您的回答,但它無法正常工作。就像我說的那樣,路由不存在,所以它返回null。我會更新我的問題,以明確爲什麼我的應用程序「需要」路線。 –

0

一個解決可能是:

// Url requested: mydomain.com/notexistingpage 

$url_parameters = @explode(".", $_SERVER['HTTP_HOST']); 

$domain = $url_parameters[0]; 

$tld = $url_parameters[1]; 

// Retrieve from database...