繁体   English   中英

Laravel,如何在App \\ Exceptions \\ Handler.php中的handle()中获取控制器实例或类名

[英]Laravel, how to get controller instance or classname in handle() inside App\Exceptions\Handler.php

我环顾四周,似乎找不到关于此的答案或讨论。

是否可以在App \\ Exceptions \\ Handler.php的“ handle()”方法中获取原始控制器的实例?

我想知道如何执行此操作,以便知道发生异常的控制器。

谢谢!

您有一个$e->getTrace()返回异常对象的堆栈跟踪。 但是,除非您进行虚拟搜索,否则您仍然不知道控制器位于哪个索引中:

foreach ($e.getTrace() as $traceElement) {
   if (preg_match('/path\/to\/your\/Http\/Controllers\/(.*?)Controller/', $traceElement['class'])) {
         $controllerClass = traceElement['class'];
         $contrllerObject = new $controllerClass();
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM