Mécanisme de gestion des erreurs
ThinkPHP5 fournit un mécanisme de gestion des erreurs très complet, que nous pouvons utiliser pour gérer facilement les erreurs générales et les messages d'erreur système. Par exemple, les messages d'erreur incluent l'erreur 404 page introuvable, l'erreur interne du serveur 500 et le service 503 temporairement indisponible lorsque l'application du site Web est en cours d'exécution. Les codes d'état HTTP peuvent être utilisés pour identifier les messages d'erreur et les gérer en détail en fonction des besoins spécifiques de l'entreprise.
De plus, ThinkPHP5 fournit une fonction de code de vérification, qui peut empêcher les clients malveillants d'attaquer les applications de notre site Web et rendre les applications plus sécurisées et fiables. Il est également livré avec un outil de gestion des vulnérabilités qui peut facilement gérer les messages d'erreur trouvés lors du développement et des tests.
Créer une page d'erreur
Nous pouvons utiliser des pages d'erreur personnalisées pour présenter des messages d'erreur plus conviviaux dans le framework ThinkPHP5. Il suffit d'ajouter le code de traitement nécessaire à la page d'erreur personnalisée. Voici les étapes à suivre pour créer une page d'erreur personnalisée :
Créez un dossier nommé "exception" dans le répertoire racine de notre application
Créez une classe dans ce dossier nommée "Handle" ;
Gestion des informations d’erreur et des codes d’informations d’exception.Gestion des informations d'erreur et des informations d'exception
Dans le framework ThinkPHP5, nous pouvons utiliser la méthode "render" dans la classe de base "thinkexceptionHandle" pour traiter les informations d'exception. Vous pouvez utiliser cette méthode pour renvoyer une page d'erreur, par exemple :
use think\exception\HttpException; use think\exception\ValidateException; use think\Response; class Handle extends think\exception\Handle { public function render(Exception $e): Response { if ($e instanceof HttpException && $this->isAjax()) { $data = [ 'msg' => $e->getMessage(), 'code' => $e->getStatusCode(), ]; return json($data, $e->getStatusCode()); } if ($e instanceof ValidateException) { return json($e->getError(), 422); } // 其他错误交给系统处理 return parent::render($e); } }
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!