Position actuelle: Accueil> Derniers articles> Faire une exception ThinkPhp6 Gestion plus élégante: intégrer les whoops pour réaliser de belles pages de débogage

Faire une exception ThinkPhp6 Gestion plus élégante: intégrer les whoops pour réaliser de belles pages de débogage

gitbox 2025-06-26

introduction

Lors du développement avec ThinkPhp6, nous rencontrons souvent diverses exceptions d'exécution. Par défaut, la page d'exception fournie par le cadre est relativement simple et l'expérience de débogage n'est pas idéale. Pour améliorer cela, nous pouvons utiliser des whoops, une excellente bibliothèque de gestion des erreurs, pour fournir une interface d'affichage d'exception plus intuitive pour le processus de développement.

Qu'est-ce que Whoops?

Whoops est une bibliothèque de gestion des exceptions open source conçue spécifiquement pour les applications PHP. Il affiche non seulement des informations d'erreur en détail, mais présente également des traces de pile, des emplacements de fichiers d'erreur et d'autres contenus d'une manière plus belle. En intégrant les whoops, les développeurs peuvent localiser et résoudre les problèmes plus rapidement.

Installez la bibliothèque Whoops

Nous pouvons facilement introduire des whoops via l'outil de compositeur et exécuter la commande suivante pour installer:

 composer require filp/whoops

Configuration des whoops dans ThinkPhp6

Créer des middleware

Tout d'abord, créez un nouveau fichier middleware whoopsfilter.php dans le répertoire de l'application du projet, et le code est le suivant:

 
namespace app\middleware;

use think\facade\Config;
use think\exception\Handle;

class WhoopsFilter extends Handle
{
    public function render($request, \Throwable $e)
    {
        if (Config::get('app.app_debug')) {
            $whoops = new \Whoops\Run;
            $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
            $whoops->register();
        }
        return parent::render($request, $e);
    }
}

Enregistrer le middleware

Ensuite, ouvrez le fichier app / middleware.php et ajoutez le middleware ci-dessus au tableau de retour:

 
return [
    // ...
    \app\middleware\WhoopsFilter::class,
    // ...
];

Activer le mode de débogage

Pour que les whoops fonctionnent correctement, assurez-vous que le projet est en mode débogage. Dans le fichier de configuration config / app.php , recherchez et modifiez les éléments de configuration suivants:

 
'app_debug' => true,

Démonstration d'effet

Une fois la configuration ci-dessus terminée, nous pouvons découvrir la page de débogage de Whoops. Voici une méthode de contrôleur simple pour simuler la sortie d'erreur:

 
public function index()
{
    $undefinedVariable = 'Hello, Whoops!';
    echo $undefinedVariable;
}

Après avoir accédé à cette méthode, vous verrez une page d'erreur graphique et interactive, y compris les informations détaillées de pile, le contexte variable et l'emplacement du code d'erreur, améliorant considérablement l'efficacité de débogage.

Résumer

En intégrant les whoops dans le projet ThinkPHP6, nous pouvons remplacer efficacement la méthode d'affichage d'exception native pour rendre le processus de débogage plus efficace et convivial. Surtout au stade de développement, il peut aider les développeurs à découvrir le problème plus rapidement et est un outil de débogage recommandé.