Heim > PHP-Framework > Laravel > Hauptteil

So passen Sie Fehlerseiten in Laravel an

PHPz
Freigeben: 2023-04-14 17:18:10
Original
481 Leute haben es durchsucht

Laravel ist ein beliebtes PHP-Framework, das umfangreiche Funktionen und leistungsstarken Support bietet und somit eine perfekte Lösung für die schnelle Erstellung von Webanwendungen darstellt. Doch auch bei bester Codequalität kommt es immer wieder zu Fehlern und Ausnahmen. Im Fehlerfall muss Ihre Anwendung eine benutzerfreundliche Fehlerseite anzeigen, um dem Benutzer mitzuteilen, was genau passiert ist. Laravel bietet eine Lösung, die uns helfen kann, dieses Ziel zu erreichen. Lassen Sie mich Ihnen zeigen, wie Sie Fehlerseiten in Laravel anpassen.

Laravel-Standardfehlerseite

Wenn in Laravel die Anwendung auf einen Fehler oder eine Ausnahme stößt, wird eine Standardfehlerseite angezeigt.

Obwohl diese Seite dem Benutzer mitteilen kann, dass ein Fehler aufgetreten ist, ist sie nicht sehr benutzerfreundlich, da sie einfach aussieht und nicht personalisiert genug ist, um dem Benutzer weitere Informationen über den Fehler bereitzustellen. Glücklicherweise können wir dies tun, indem wir die Fehlerseite anpassen.

Erstellen Sie eine benutzerdefinierte Fehlerseite

Um eine benutzerdefinierte Fehlerseite in Laravel zu erstellen, müssen wir die folgenden Schritte ausführen:

Schritt 1: Vorlage erstellen

Wir müssen zunächst eine Vorlage für die benutzerdefinierte Fehlerseite erstellen. Wir können innerhalb unseres Anwendungsansichtsordners einen Ordner errors erstellen, der die Fehleransichtsdateien enthält. In diesem Ordner können wir eine Datei 400.blade.php erstellen, die zur Behandlung von 400-Fehlern verwendet wird. errors文件夹,该文件夹包含错误视图文件。在这个文件夹中,我们可以创建一个400.blade.php文件,它将用于处理400错误。

为了方便起见,我们可以基于默认的Laravel错误页面创建自定义错误页面,以获取与默认页面相同的结构和样式。你可以通过执行以下命令获得默认的Laravel错误页面:

php artisan vendor:publish --tag=laravel-errors
Nach dem Login kopieren

这个命令将复制Laravel的默认错误视图到我们的应用程序的指定位置。我们可以通过resources/views/errors文件夹找到这些文件。

第二步: 配置错误处理程序

一旦我们创建了自定义的错误页面模板,我们需要告诉Laravel如何使用它们。为此,我们需要在我们的app/Exceptions/Handler.php文件中注册我们的自定义错误处理程序。

打开app/Exceptions/Handler.php文件,并找到以下方法:

public function render($request, Throwable $exception)
{
    return parent::render($request, $exception);
}
Nach dem Login kopieren

最简单的解决方案是在此方法中添加一个switch条件,根据不同的错误码为我们的自定义错误视图返回视图。例如,如果我们想为400错误码自定义错误视图,我们可以添加以下代码:

public function render($request, Throwable $exception)
{
    switch ($exception->status) {
        case 400:
            return response()->view('errors.400', [], 400);
        break;
        default:
            return parent::render($request, $exception);
        break;
    }
}
Nach dem Login kopieren

这个方法使用Laravel的response()函数,将我们的自定义错误视图返回给用户,如果状态码不为400,则调用默认的parent::render()

Der Einfachheit halber können wir eine benutzerdefinierte Fehlerseite basierend auf der standardmäßigen Laravel-Fehlerseite erstellen, um die gleiche Struktur und den gleichen Stil wie die Standardseite zu erhalten. Sie können die Standardfehlerseite von Laravel abrufen, indem Sie den folgenden Befehl ausführen:

public function render($request, Throwable $exception)
{
     if ($this->isHttpException($exception)) {
         switch ($exception->getStatusCode()) {
             case 400:
                 return response()->view('errors.400', [], 400);
                 break;
             case 404:
                 return response()->view('errors.404', [], 404);
                 break;
             case 500:
                 return response()->view('errors.500', [], 500);
                 break;
             default:
                 return $this->renderHttpException($exception);
                 break;
         }
     }
     return parent::render($request, $exception);
}
Nach dem Login kopieren
Dieser Befehl kopiert die Standardfehleransicht von Laravel an einen angegebenen Ort in unserer Anwendung. Wir können diese Dateien im Ordner resources/views/errors finden.

Schritt zwei: Fehlerhandler konfigurieren

Sobald wir unsere benutzerdefinierten Fehlerseitenvorlagen erstellt haben, müssen wir Laravel mitteilen, wie sie verwendet werden sollen. Dazu müssen wir unseren benutzerdefinierten Fehlerhandler in unserer Datei app/Exceptions/Handler.php registrieren.

Öffnen Sie die Datei app/Exceptions/Handler.php und suchen Sie die folgende Methode: #🎜🎜#rrreee#🎜🎜#Die einfachste Lösung besteht darin, dieser Methode A hinzuzufügen switch-Bedingung, die eine Ansicht für unsere benutzerdefinierte Fehleransicht basierend auf verschiedenen Fehlercodes zurückgibt. Wenn wir beispielsweise die Fehleransicht für den 400-Fehlercode anpassen möchten, können wir den folgenden Code hinzufügen: #🎜🎜#rrreee#🎜🎜#Diese Methode verwendet zum Konvertieren die Funktion response() von Laravel Unser Definieren Sie die Fehleransicht, die an den Benutzer zurückgegeben werden soll. Wenn der Statuscode nicht 400 ist, wird die Standardmethode parent::render() aufgerufen. #🎜🎜##🎜🎜# Bei Bedarf können wir auch weitere Fehleransichten hinzufügen. Um beispielsweise eine gemeinsame benutzerdefinierte Fehleransicht für alle Fehler hinzuzufügen, könnten wir den folgenden Code hinzufügen: #🎜🎜#rrreee#🎜🎜#Dadurch wird eine benutzerdefinierte Fehleransicht zurückgegeben, die dem Statuscode entspricht. #🎜🎜##🎜🎜#Fazit#🎜🎜##🎜🎜#In diesem Beitrag haben wir gelernt, wie man benutzerdefinierte Fehlerseiten in Laravel erstellt. Wir haben gelernt, wie man Fehleransichtsvorlagen erstellt und diese Ansichten in den Handlern der Anwendung registriert. Wenn nun ein Fehler auftritt, können wir den Benutzern benutzerfreundlichere Informationen zur Verfügung stellen, die ihnen helfen, das Problem besser zu verstehen, und so die Benutzererfahrung unserer Anwendung verbessern. #🎜🎜#

Das obige ist der detaillierte Inhalt vonSo passen Sie Fehlerseiten in Laravel an. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!