2016-08-16 6 views
0

Derzeit habe ich einen Fehler, den ich schwer zu beheben finde. Der Fehler betrifft die \Request::route(), die NULL zurückgibt, wenn die notFoundHttpException ausgelöst wird und meine benutzerdefinierte Fehleransicht gerendert wird.Laravel 5 - Route nicht verfügbar in notFoundHttpException

Das Problem ist, dass meine Anwendung die aktuelle Route benötigt, um eine Vielzahl von Dingen zu tun. Ich denke, es ist "normal", dass ..::route()NULL zurückgibt, da die Route nicht existiert. Diese

ist, wo ich meine eigene Fehleransicht zeigen:

// App\Exceptions\Handler 
return response()->view('layouts.default', [ 
    'main_content' => view('errors.'.$e->getStatusCode()) 
], $e->getStatusCode()); 

Als ich \Request::route() in meiner Ansicht nennen es gibt NULL.

Hat jemand eine Idee, wie man das auf eine saubere Weise lösen kann?

bearbeiten

Die Anwendung, die ich aktuell arbeite ist ein Multi-Domain-System. Die Route wird benötigt, um festzustellen, welche Domain gerade angefordert wird.

Alle Routen sind innerhalb einer Gruppe eingewickelt:

Route::group(['domain' => {domain}.{tld}], function() 
{ 
    // Application routes... 
} 

der Domäne zu bestimmen:

$domain = \Request::route()->domain; 

$tld = \Request::route()->tld; 

// Retrieve from database... 

Ja, es gibt Workarounds wie:

// Url requested: mydomain.com/notexistingpage 

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

$domain = $url_parameters[0]; 

$tld = $url_parameters[1]; 

// Retrieve from database... 

Allerdings würde Ich mag an Verwenden Sie den Router weiterhin, um die Parameter zu bedienen. Ich werde diese Frage als beantwortet markieren.

Antwort

0

Versuchen Sie, diese

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

oder

\Route::getCurrentRoute(); 
+0

Vielen Dank für Ihre Antwort, aber es funktioniert nicht. Wie ich schon sagte, die Route existiert nicht und gibt null zurück. Ich werde meine Frage aktualisieren, um zu verdeutlichen, warum meine Anwendung die Route "benötigt". –

0

eine Arbeit um sein könnte:

// Url requested: mydomain.com/notexistingpage 

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

$domain = $url_parameters[0]; 

$tld = $url_parameters[1]; 

// Retrieve from database... 
Verwandte Themen