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.
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". –