Position actuelle: Accueil> Derniers articles> Comment initialiser une page d'erreur personnalisée dans une fonction init

Comment initialiser une page d'erreur personnalisée dans une fonction init

gitbox 2025-05-20

Dans le développement de PHP, la définition des pages d'erreur personnalisées est une tâche importante pour améliorer l'expérience utilisateur. En règle générale, nous pouvons gérer les erreurs PHP et les exceptions via les fonctions set_error_handler () et set_exception_handler () et les transmettre à une page d'erreur personnalisée. Cet article initialisera ces mécanismes de gestion des erreurs via la fonction INIT dans PHP et affichera le message d'erreur sur une page personnalisée conviviale.

Qu'est-ce qu'une fonction d'init?

Dans PHP, la fonction INIT est généralement une fonction d'initialisation exécutée lorsque le programme démarre. Il est généralement utilisé pour définir certaines configurations de base, telles que la connexion de la base de données, la gestion des erreurs, les paramètres de cache, etc. Nous pouvons utiliser cette fonction pour initialiser le gestionnaire d'erreurs pour nous assurer qu'il existe une logique de gestion des erreurs unifiée tout au long du cycle de vie de l'application.

Étape 1: Créez une page d'erreur personnalisée

Tout d'abord, nous devons préparer une page d'erreur personnalisée. Par exemple, nous pouvons créer une page HTML simple qui affiche des messages d'erreur.

 <!-- error_page.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Page d&#39;erreur</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            background-color: #f2f2f2;
            color: #333;
            text-align: center;
            padding: 50px;
        }
        h1 {
            color: #f44336;
        }
    </style>
</head>
<body>
    <h1>Être désolé,Une erreur s&#39;est produite!</h1>
    <p>Nous travaillons dur pour résoudre le problème,Veuillez réessayer plus tard。</p>
</body>
</html>

Cette page servira de page d'affichage pour toutes nos erreurs, et les utilisateurs verront une invite concise et conviviale.

Étape 2: Écrivez la fonction INIT et initialisez la gestion des erreurs

Ensuite, dans la fonction INIT de PHP, nous pouvons configurer un gestionnaire d'erreurs personnalisé. Avec les fonctions set_error_handler () et set_exception_handler () , nous pouvons attraper des erreurs et des exceptions PHP et les rediriger vers notre page d'erreur personnalisée.

 <?php
// init.php

// Initialiser la fonction
function init() {
    // Configuration des gestionnaires d&#39;erreurs personnalisés
    set_error_handler('customErrorHandler');
    
    // Configuration des gestionnaires d&#39;exception personnalisés
    set_exception_handler('customExceptionHandler');
}

// Gestionnaire d&#39;erreur personnalisé
function customErrorHandler($errno, $errstr, $errfile, $errline) {
    // Vous pouvez enregistrer les journaux d&#39;erreur ou envoyer des e-mails pour informer les développeurs
    error_log("Error [$errno]: $errstr in $errfile on line $errline");

    // 重定向到自定义Page d&#39;erreur
    header("Location: https://gitbox.net/error_page.html");
    exit();
}

// Gestionnaire d&#39;exceptions personnalisés
function customExceptionHandler($exception) {
    // Peut enregistrer les journaux d&#39;exception ou envoyer des e-mails pour informer les développeurs
    error_log("Uncaught exception: " . $exception->getMessage());

    // 重定向到自定义Page d&#39;erreur
    header("Location: https://gitbox.net/error_page.html");
    exit();
}

// 调用Initialiser la fonction
init();
?>

Étape 3: gérer les erreurs et les exceptions

Dans le code ci-dessus, la fonction init () est appelée au début de l'application et deux gestionnaires d'erreurs sont définis: CustomErrorHandler et CustomexceptionHandler .

  • set_error_handler ('CustomErrorHandler') permet de rediriger les erreurs PHP vers la fonction CustomErrorHandler .

  • set_exception_handler ('customexceptionHandler') permet de rediriger des exceptions non capturées vers la fonction CustomexceptionHandler à gérer.

Lorsqu'une erreur ou une exception se produit, PHP exécutera automatiquement ces fonctions, enregistrera les journaux pertinents et redirigera l'utilisateur vers la page https://gitbox.net/error_page.html . De cette façon, les utilisateurs ne verront pas la page d'erreur par défaut de PHP, mais notre page d'erreur soigneusement conçue.

Étape 4: Testez le gestionnaire d'erreurs

Pour tester notre gestionnaire d'erreurs, certaines erreurs ou exceptions peuvent être délibérément lancées dans le code. Par exemple, appelez une fonction non définie ou lancez une exception:

 <?php
// Une erreur est délibérément soulevée
echo undefinedFunction();

// Une exception spéciale est lancée
throw new Exception("Ceci est une exception de test!");
?>

Lorsque vous accédez à cette page, l'utilisateur doit être redirigé vers la page https://gitbox.net/error_page.html sans voir le message d'erreur par défaut PHP.

Résumer

En initialisant la page d'erreur personnalisée dans la fonction INIT en PHP, nous pouvons nous assurer que le mécanisme de gestion des erreurs de l'application est unifié et convivial. En configurant les gestionnaires d'erreurs personnalisés et les gestionnaires d'exception, nous pouvons afficher tous les messages d'erreur sur les pages HTML personnalisées grâce à la redirection, à l'amélioration de l'expérience utilisateur et à la réduction du risque de divulguer des informations sensibles.

J'espère que cet article vous aidera à mieux comprendre comment configurer les pages d'erreur personnalisées dans PHP. Si vous avez d'autres questions ou suggestions d'amélioration, veuillez laisser un message ci-dessous pour discuter!