📜  获取所有错误视图 laravel - PHP (1)

📅  最后修改于: 2023-12-03 14:57:15.253000             🧑  作者: Mango

获取所有错误视图 Laravel

在 Laravel 中,错误报告和视图是通过异常处理器和错误处理器来管理的。如果您想获取所有错误视图,可以按照以下步骤操作:

  1. 打开 App\Exceptions\Handler.php 文件

  2. render 方法中,可以看到默认的错误视图返回方式:

return parent::render($request, $exception);
  1. 您可以在此方法中添加自己的错误视图返回方式。例如,如果您想要获取所有的错误视图,并将它们返回到一个数组中,可以像下面这样编写代码:
public function render($request, Throwable $exception)
{
    $errors = [];
  
      // 获取所有的错误视图
    foreach ($this->containers() as $container) {
        if ($container instanceof ViewErrorBag) {
            $errors = array_merge($errors, $container->getBag('default')->toArray());
        }
    }
  
    return response()->json($errors);
}

这段代码将会获取所有的错误视图,将它们存储在 $errors 数组中,并将这个数组返回为 JSON 格式。

注意:在使用这种方式时,为了防止出现死循环的情况,您需要注意自己的代码是否会一直抛出异常,从而导致 render 方法被不断调用。

现在,您可以通过这种方式获取所有的错误视图了!

参考文献: Laravel Official Documentation - Exceptions