Je me suis familiarisé avec TP6 pendant la Fête du Printemps, et j'ai également écrit un programme de blog TP6, mais la page d'exception du système est vraiment un casse-tête, et plusieurs fois, je ne parviens pas à le voir. Quelle ligne de code pose problème ?
Je voulais donc vraiment présenter whoops. Après une série de recherches, j'ai finalement trouvé la solution :
1 Installer whoops via composer
. Exécutez la commande : composer require filp/whoops
Remarque : si le fichier importé par composer contient des erreurs de syntaxe, vous devez traiter les erreurs de syntaxe à l'avance avant l'installation, sinon une erreur sera toujours signalée.
2. Utilisez whoops pour prendre en charge la gestion des exceptions tp6
Ajoutez le code suivant à la méthode render() du fichier /app/ExceptionHandle.php :
// 添加自定义异常处理机制 if (ENV('APP_DEBUG')) { // 如果是HttpResponseException异常则原样输出 // JUMP插件里的success,error和result方法均返回的是HttpResponseException异常 if ($e instanceof HttpResponseException) { return $e->getResponse(); } // Whoops 接管请求异常 $whoops = new \Whoops\Run; $whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler()); return Response::create( $whoops->handleException($e), 'html', 500 ); }
Comme indiqué ci-dessous :
3. Jetons un coup d'œil au résultat
J'en ai écrit un dans le méthode d'indexation sur la page d'accueil du blog Fonction inexistante :
Actualisez la page et voyez, c'est fait
OK . Le whoops familier est de retour.
4. Postscript
Afin d'utiliser les whoops dans thinkphp6, j'ai examiné attentivement le mécanisme d'exception dans PHP7 et j'ai finalement introduit les whoops. .
Dans le processus d'apprentissage de la gestion des exceptions, j'ai également découvert que try()catch() devrait être utilisé pour le traitement métier en PHP7 au lieu de if()else().
I J'écrirai un article séparé à l'avenir pour parler de mon expérience dans l'étude des exceptions de PHP7.
J'espère aussi que tout le monde pourra continuer à prêter attention à mon blog http://laoliu.pro
Lien original : http://laoliu.pro/php/6.html