我环顾四周,似乎没有找到关于此的答案或讨论。
是否可以在" handle()"中获取原始控制器的实例。 App \ Exceptions \ Handler.php中的方法?
我想知道如何做到这一点,以便知道Exception发生在哪个控制器上。
谢谢!
答案 0 :(得分: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();
}
}