現在の位置: ホーム> 最新記事一覧> ThinkPhp6例外処理をよりエレガントにする:フープを統合して美しいデバッグページを達成する

ThinkPhp6例外処理をよりエレガントにする:フープを統合して美しいデバッグページを達成する

gitbox 2025-06-26

導入

ThinkPhp6を使用して開発する場合、さまざまなランタイムの例外に遭遇することがよくあります。デフォルトでは、フレームワークによって提供される例外ページは比較的単純で、デバッグエクスペリエンスは理想的ではありません。これを改善するために、優れたエラー処理ライブラリであるWhoopsを使用して、開発プロセスにより直感的な例外ディスプレイインターフェイスを提供できます。

フープとは何ですか?

HOOPSは、PHPアプリケーション向けに特別に設計されたオープンソースの例外ハンドリングライブラリです。エラー情報を詳細に表示するだけでなく、スタックトレース、エラーファイルの場所、その他のコンテンツをより美しい方法で表示します。 Hoopsを統合することにより、開発者は問題をより迅速に見つけて修正できます。

フープライブラリをインストールします

Composerツールを介してwhoopsを簡単に紹介し、次のコマンドを実行してインストールできます。

 composer require filp/whoops

thinkphp6でフープを構成します

ミドルウェアを作成します

まず、プロジェクトのアプリディレクトリに新しいミドルウェアファイルhoopsfilter.phpを作成すると、コードは次のとおりです。

 
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);
    }
}

ミドルウェアを登録します

次に、 App/Middleware.phpファイルを開き、上記のミドルウェアを返品配列に追加します。

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

デバッグモードを有効にします

Hoopsが適切に機能するためには、プロジェクトがデバッグモードであることを確認してください。 config/app.php構成ファイルで、次の構成項目を見つけて変更します。

 
'app_debug' => true,

効果デモンストレーション

上記の構成が完了したら、Whoopsのデバッグページを体験できます。エラー出力をシミュレートするための単純なコントローラー方法は次のとおりです。

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

この方法にアクセスすると、詳細なスタック情報、可変コンテキスト、エラーコードの位置など、グラフィカルでインタラクティブなエラーページが表示され、デバッグ効率が大幅に向上します。

要約します

WhoopsをThinkPhp6プロジェクトに統合することにより、ネイティブの例外ディスプレイ方法を効果的に置き換えて、デバッグプロセスをより効率的でフレンドリーにすることができます。特に開発段階では、開発者が問題をより速く発見するのに役立ち、推奨されるデバッグツールです。