0

私は周りを見回しましたが、これに関する答えや議論が見つからないようです。

App\Exceptions\Handler.php の「handle()」メソッド内で元のコントローラーのインスタンスを取得することは可能ですか?

例外が発生したコントローラーを知るために、これを行う方法を知りたいです。

ありがとう!

4

1 に答える 1

0

$e->getTrace()例外オブジェクトのスタック トレースを返す があります。ただし、ダミーの検索を行わない限り、コントローラーがどのインデックスにあるかはわかりません。

foreach ($e.getTrace() as $traceElement) {
   if (preg_match('/path\/to\/your\/Http\/Controllers\/(.*?)Controller/', $traceElement['class'])) {
         $controllerClass = traceElement['class'];
         $contrllerObject = new $controllerClass();
   }
}
于 2016-10-10T08:06:23.770 に答える