Heim  >  Artikel  >  PHP-Framework  >  Detaillierte Erklärung zur Konfiguration von 404- und anderen Ausnahmeseiten im Laravel-Framework (Codebeispiel)

Detaillierte Erklärung zur Konfiguration von 404- und anderen Ausnahmeseiten im Laravel-Framework (Codebeispiel)

不言
不言nach vorne
2019-01-07 11:09:194422Durchsuche

Dieser Artikel enthält eine detaillierte Erklärung (Codebeispiel) zur Konfiguration von 404- und anderen Ausnahmeseiten im Laravel-Framework. Ich hoffe, dass er für Freunde in Not hilfreich ist Es wird Ihnen helfen.

Alle Ausnahmen in Laravel werden von der Handler-Klasse behandelt, die zwei Methoden enthält: Report und Render, wobei die Render-Methode die Ausnahme in die http-Antwort rendert. Speicherort der Handler-Klassendatei: app/Exceptions/Handler. Da die Render-Methode in der HTTP-Antwort gerendert wird, müssen wir nur die Render-Methode ändern.
Viele Methoden im Internet müssen die Render-Methode ändern:

public function render($request, Exception $exception)
{
    if ($exception) {
        return response()->view('error.'.$exception->getStatusCode(), [],$exception->getStatusCode());
    }
    return parent::render($request, $exception);
}

Zu diesem Zeitpunkt liegt möglicherweise kein Problem mit Ihrem Test vor, aber wenn Sie eine Anmeldemethode schreiben und eine Seite besuchen, die eine Anmeldung erfordert, wird ein Fehler gemeldet

Detaillierte Erklärung zur Konfiguration von 404- und anderen Ausnahmeseiten im Laravel-Framework (Codebeispiel)

Dies liegt daran, dass Sie, wenn Sie eine Seite besuchen, auf der Sie sich anmelden müssen, die Rendermethode von app/Exceptions/Handler.php eingeben. Zu diesem Zeitpunkt ist $Exception -> getStatusCode() existiert nicht und es wird zu diesem Zeitpunkt ein Fehler gemeldet. Wie kann man das Problem lösen?

Zu diesem Zeitpunkt finden wir die Methode parent::render:

Detaillierte Erklärung zur Konfiguration von 404- und anderen Ausnahmeseiten im Laravel-Framework (Codebeispiel)

Zu diesem Zeitpunkt stellen wir fest, dass das Laravel-Framework bereits vorhanden ist Konvertiert unsere Diese Situation ist enthalten, dann können wir die obige Methode ändern in:

public function render($request, Exception $exception)
{
    if (!($exception instanceof AuthenticationException)) {
        return response()->view('error.'.$exception->getStatusCode(), [],$exception->getStatusCode());
    }
    return parent::render($request, $exception);
}

Dieses Problem ist zu diesem Zeitpunkt perfekt gelöst
Dann erstellen Sie eine neue Fehlerseite unter resources/view/error/, error The Die Seite heißt: {errorcode}..balde.php, wobei errorcode der Fehlercode ist, z. B. 404..balde.php

Nachdem die Konfiguration abgeschlossen ist, wird sie zu Ihnen weitergeleitet, wenn Sie auf eine nicht- Vorhandene Route. Konfigurierte 404-Seite


Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung zur Konfiguration von 404- und anderen Ausnahmeseiten im Laravel-Framework (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen