Bei der Entwicklung mit ThinkPhp6 begegnen wir häufig auf verschiedene Laufzeitausnahmen. Standardmäßig ist die Ausnahmeseite, die im Framework bereitgestellt wird, relativ einfach und das Debugging -Erlebnis ist nicht ideal. Um dies zu verbessern, können wir WHOPS, eine hervorragende Bibliothek für Fehlerhandhabung, verwenden, um eine intuitivere Ausnahmemittel -Display -Schnittstelle für den Entwicklungsprozess bereitzustellen.
Whoops ist eine Open -Source -Ausnahme -Handling -Bibliothek, die speziell für PHP -Anwendungen entwickelt wurde. Es werden nicht nur Fehlerinformationen im Detail angezeigt, sondern auch Stapelspuren, Fehlerdateistandorte und andere Inhalte auf schönere Weise angezeigt. Durch die Integration von Whoops können Entwickler Probleme schneller lokalisieren und beheben.
Wir können Whoops problemlos über das Composer -Tool einführen und den folgenden Befehl ausführen, um zu installieren:
composer require filp/whoops
Erstellen Sie zunächst eine neue Middleware -Datei whoopfilter.php im App -Verzeichnis des Projekts, und der Code lautet wie folgt:
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);
}
}
Öffnen Sie als nächstes die Datei App/Middleware.php und fügen Sie die obige Middleware zum Rückgabebarray hinzu:
return [
// ...
\app\middleware\WhoopsFilter::class,
// ...
];
Damit Whoops ordnungsgemäß funktioniert, stellen Sie sicher, dass sich das Projekt im Debug -Modus befindet. Suchen und ändern Sie die folgenden Konfigurationselemente in der Konfigurationsdatei config/app.PHP -Konfigurationsdatei:
'app_debug' => true,
Sobald die obige Konfiguration abgeschlossen ist, können wir die Debug -Seite von Whoops erleben. Hier ist eine einfache Controller -Methode zur Simulation der Fehlerausgabe:
public function index()
{
$undefinedVariable = 'Hello, Whoops!';
echo $undefinedVariable;
}
Nach dem Zugriff auf diese Methode sehen Sie eine grafische und interaktive Fehlerseite, einschließlich detaillierter Stapelinformationen, variabler Kontext und Fehlercode -Standort, wodurch die Debugging -Effizienz erheblich verbessert wird.
Durch die Integration von Whoops in das ThinkPhp6 -Projekt können wir die native Ausnahmemethode effektiv ersetzen, um den Debugging -Prozess effizienter und freundlicher zu gestalten. Insbesondere in der Entwicklungsphase kann es den Entwicklern helfen, das Problem schneller zu ermitteln, und ist ein empfohlenes Debugging -Tool.