ホームページ  >  記事  >  PHPフレームワーク  >  ついにwhoopsを使ってtp6の例外処理を引き継ぐことに成功しました!

ついにwhoopsを使ってtp6の例外処理を引き継ぐことに成功しました!

藏色散人
藏色散人転載
2021-03-05 14:00:592762ブラウズ

thinkphp の次のチュートリアル コラムでは、whoops を使用して tp6 の例外処理を引き継ぐ方法を紹介します。困っている友人の役に立てば幸いです。

ThinkPHP6 の異常なページに別れを告げて、おっと受け入れましょう!

春節の間に TP6 について詳しくなり、TP6 のブログ プログラムも書きましたが、システムの例外ページは本当に頭の痛い問題で、コードのどの行に問題があるのでしょうか?

だから私は本当にwhoopsを導入したかったのです。一連の調査の後、最終的に解決策を見つけました:

1. コンポーザーを通じてwhoopsをインストールします

コマンドを実行します:composer require filp/whoops

注:composer によってインポートされたファイルに構文エラーがある場合は、インストール前に事前に構文エラーに対処する必要があります。そうしないと、常にエラーが報告されます。

2.whoops を使用して tp6 の例外処理を引き継ぎます

/app/ExceptionHandle.php ファイルの render() メソッドに次のコードを追加します。

// 添加自定义异常处理机制
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
    );
}
以下に示すように:

ついにwhoopsを使ってtp6の例外処理を引き継ぐことに成功しました!

3. 結果を見てください

私は非を書きました-existent function:

ついにwhoopsを使ってtp6の例外処理を引き継ぐことに成功しました!

ページを更新して、OK

ついにwhoopsを使ってtp6の例外処理を引き継ぐことに成功しました!

OK を確認してください。おなじみのあの音が戻ってきました。

4. 追記##thinkphp6 で whoops を使うために、PHP7 の例外の仕組みをよく調べて、最終的に Whoops を導入しました。例外処理を学習する過程で、PHP7 の業務処理には if()else() ではなく try()catch() を使用する必要があることもわかりました。

これについては、後で別の記事を書きます。 PHP7 の例外を研究した私の経験。

また、皆さんが私のブログ http://laoliu.pro

に引き続き注目していただけることを願っています。元のリンク: http://laoliu. pro/php/6.html

関連する推奨事項:
最新の 10 件の thinkphp ビデオ チュートリアル

以上がついにwhoopsを使ってtp6の例外処理を引き継ぐことに成功しました!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。