問題タブ [whoops]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Whoops PrettyPageHandler を拡張する場合のプロパティ null
この単純な子クラスを考えてみましょうPrettyPageHandler
これを次のように使用すると:
$errorHandler->fooはnullですが、「実行されました」が出力されました。$this->foo = 'bar';プロセスで実行または無効化されているはずですが、実行または無効化されていないようです。理由はありますか?
更新 1
handle();正常に動作する出力バッファリングを介して出力を取得しようとしています。しかし同時に、変数を設定したい:
$this->foo = 'bar';この時点では実行されていないようですが、「実行されました」と出力されます。
更新 2
エラーがまだログに記録されていないかどうかを判断しようとしています。真の場合は、通知の送信などを行います (例: 電子メール/SMS/など)。エラーが既にログに記録されている場合は、エラーが重複していることを意味します。これ以上通知を送信しないでください。もう少しコードを示しますが、わかりやすくするために簡略化しています。
問題は$errorHandler->isNewErrornull であるべきであっても null ですtrue
更新 3:
なぜこれが機能するのかについて、私の考えを説明しようと思います。これが私がやろうとしていることの基本的な例です。Whoopsと呼ばれる単純化されたクラスがあるとしましょうFakeWhoops
そして、これは私のカスタムハンドラーです:
それを実行して、偽のエラーをトリガーしましょう。
ここでわかるように、これはまさに私がやろうとしていることですが、実数を使用していますWhoops。それは同じ単純な考えです。しかし、なぜこれはこの単純化された例では機能するのに、では機能しないのWhoopsでしょうか?
php - monolog と whoops の使用
私は Monolog を と で使用しようとしていますが、Whoops はset_exception_handler外で使用してset_error_handlerいます。
Whoops を実行するために 2 つの場所を試しました。
Run Whoops #1 Location- 結果: Monolog はエラー/例外をログに記録し、Whoops は表示されません
Run Whoops #2 Location- 結果: Monolog は何もログに記録せず、Whoops が表示されます
Monolog と Whoops の両方を連携させることができない理由がわかりません。