Ich bin neu in Laravel und versuche, Anfragen zu finden, die nicht mit bestehenden Routen übereinstimmen. Momentan bekomme ich einen ...
Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException
Ich habe einen App::missing()
-Handler in app/start/global.php
erstellt, wie beschrieben auf der Dokumentationsseite aber das hilft nicht. Ich habe auch versucht, einen App::error(function(NotFoundHttpException $exception, $code)
-Handler zu erstellen, aber das hat auch nicht geholfen.
Jede Hilfe wäre willkommen.
Das liegt wahrscheinlich daran, dass das Debugging in der app/config/app.php
-Datei aktiviert ist. Versuchen Sie, diesen Wert in false
umzuwandeln, und sehen Sie, ob Ihr benutzerdefinierter Handler ihn "handhabt".
Außerdem muss Ihr Error-Handler eine Response zurückgeben, um die Anfrage "kurzzuschließen" und tatsächlich mit dem Ergebnis Ihres Error-Handlers zu antworten. - Liefern Sie eine Wert / Antwort-Klasse von Ihrem App::error()
-Handler? (Bitte zeigen Sie uns diesen Code).
Hier ist ein Artikel über Laravel 4 Fehlerbehandlung ohne den Prozess zu beschreiben, wie Laravel App::missing()
und App::error()
verwendet. Handler, wenn Fehler auftreten.
Achten Sie besonders auf den Abschnitt "Fleisch der Handler-Klasse". Darin wird beschrieben, wie Sie einen Wert vom Handler zurückgeben müssen, damit er die Exception nicht an den nächsten Handler weiterleitet (wahrscheinlich Ihr Whoops-Fehler) Ausgabe, die angezeigt wird, wenn debug
auf true
in app/config/app.php
) gesetzt ist.
Du brauchst das: In 'app / start / global.php' füge hinzu:
%Vor% Und natürlich in Ansichten erstellen (in diesem Fall) errorView.blade.php
EDIT: Diese Methode behandelt alle "404 Not Found" Fehler.
Hier erfahren Sie, wie Sie einen 404-Fehler auslösen, wenn eine ModelNotFoundException auftritt
%Vor%in
wenn Sie
machen %Vor%zu diesem
%Vor%Sie erhalten eine Benutzerumgebung, die nicht dem Debugging-Modus entspricht. Bitte stellen Sie sicher, dass Sie es überprüft haben.
Danke:)
Ich konnte es mit dem folgenden Code arbeiten lassen. Ich lasse 'debug' = & gt; stimmt, in meiner lokalen Konfiguration.
In der App / start / global.php
%Vor%Bei Interesse ist der Inhalt meiner Ansicht
%Vor%Die größte Herausforderung bestand darin, Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException als den Typ der Ausnahme und nicht nur NotFoundHttpException zu verwenden.
Durch die Verwendung von NotFoundHttpException wurde ein Fehler von 500 ausgelöst.