Maison  >  Article  >  cadre php  >  Comment personnaliser les pages d'erreur dans Laravel

Comment personnaliser les pages d'erreur dans Laravel

PHPz
PHPzoriginal
2023-04-14 16:54:08476parcourir

Laravel est un framework PHP populaire qui offre des fonctionnalités riches et un support puissant, offrant une solution parfaite pour créer rapidement des applications Web. Cependant, même avec la meilleure qualité de code, des erreurs et des exceptions se produiront toujours. En cas d'erreur, votre application doit afficher une page d'erreur conviviale pour indiquer à l'utilisateur ce qui s'est exactement passé. Laravel fournit une solution qui peut nous aider à atteindre cet objectif. Laissez-moi vous montrer comment personnaliser les pages d'erreur dans Laravel.

Page d'erreur par défaut de Laravel

Dans Laravel, lorsque l'application rencontre une erreur ou une exception, une page d'erreur par défaut s'affiche.

Bien que cette page puisse indiquer à l'utilisateur qu'une erreur s'est produite, elle n'est pas très conviviale car elle semble simple et n'est pas suffisamment personnalisée pour fournir à l'utilisateur plus d'informations sur l'erreur. Heureusement, nous pouvons le faire en personnalisant la page d'erreur.

Créer une page d'erreur personnalisée

Pour créer une page d'erreur personnalisée dans Laravel, nous devons suivre ces étapes :

Étape 1 : Créer un modèle

Nous devons d'abord créer un modèle pour la page d'erreur personnalisée. Nous pouvons créer un dossier erreurs dans le dossier de vues de notre application qui contient les fichiers de vue d'erreur. Dans ce dossier, nous pouvons créer un fichier 400.blade.php, qui servira à gérer 400 erreurs. errors文件夹,该文件夹包含错误视图文件。在这个文件夹中,我们可以创建一个400.blade.php文件,它将用于处理400错误。

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

php artisan vendor:publish --tag=laravel-errors

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

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

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

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

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

最简单的解决方案是在此方法中添加一个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;
    }
}

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

Pour plus de commodité, nous pouvons créer une page d'erreur personnalisée basée sur la page d'erreur Laravel par défaut pour obtenir la même structure et le même style que la page par défaut. Vous pouvez obtenir la page d'erreur par défaut de Laravel en exécutant la commande suivante :

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);
}
Cette commande copiera la vue d'erreur par défaut de Laravel vers un emplacement spécifié dans notre application. Nous pouvons trouver ces fichiers dans le dossier resources/views/errors.

Deuxième étape : configurer les gestionnaires d'erreurs

Une fois que nous avons créé nos modèles de page d'erreur personnalisés, nous devons indiquer à Laravel comment les utiliser. Pour ce faire, nous devons enregistrer notre gestionnaire d'erreurs personnalisé dans notre fichier app/Exceptions/Handler.php.

Ouvrez le fichier app/Exceptions/Handler.php et trouvez la méthode suivante : 🎜rrreee🎜La solution la plus simple est d'ajouter une condition switch dans cette méthode, selon Différents codes d'erreur sont renvoyés pour notre vue d'erreur personnalisée. Par exemple, si nous souhaitons personnaliser la vue d'erreur pour le code d'erreur 400, nous pouvons ajouter le code suivant : 🎜rrreee🎜Cette méthode utilise la fonction response() de Laravel pour renvoyer notre vue d'erreur personnalisée au user , si le code d'état n'est pas 400, la méthode parent::render() par défaut est appelée. 🎜🎜Nous pouvons également ajouter d’autres vues d’erreurs si nécessaire. Par exemple, pour ajouter une vue d'erreur personnalisée commune pour toutes les erreurs, nous pourrions ajouter le code suivant : 🎜rrreee🎜 Cela renverra une vue d'erreur personnalisée qui correspond au code d'état. 🎜🎜Conclusion🎜🎜Dans cet article, nous avons appris comment créer des pages d'erreur personnalisées dans Laravel. Nous avons appris à créer des modèles de vues d'erreurs et à enregistrer ces vues dans les gestionnaires de l'application. Désormais, lorsque nous rencontrons une erreur, nous pouvons fournir aux utilisateurs des informations plus conviviales pour les aider à mieux comprendre le problème, améliorant ainsi l'expérience utilisateur de notre application. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn