Php 如何在自定义Http异常中调用刀片视图?(拉威尔7)

Php 如何在自定义Http异常中调用刀片视图?(拉威尔7),php,laravel,http,laravel-middleware,laravel-exceptions,Php,Laravel,Http,Laravel Middleware,Laravel Exceptions,我希望从由包的中间件触发的HttpException返回一个视图,目前,它返回一个静态403异常,我想从包中将其更改为自定义视图 我尝试在异常本身中返回一个视图,但是,由于接收到一个TypeError,该视图被证明是无效的TypeError Username\Roles\Exceptions\InsufficientRoleException::forRoles()的返回值必须是Username\Roles\Exceptions\InsufficientUsergroupException的实例

我希望从由包的中间件触发的HttpException返回一个视图,目前,它返回一个静态403异常,我想从包中将其更改为自定义视图

我尝试在异常本身中返回一个视图,但是,由于接收到一个TypeError,该视图被证明是无效的
TypeError Username\Roles\Exceptions\InsufficientRoleException::forRoles()的返回值必须是Username\Roles\Exceptions\InsufficientUsergroupException的实例,返回的Illumb\View\View的实例

这是代码块本身,如果有人知道不修改
App\Exceptions\Hander.php
就可以实现这一点的方法,那将是令人惊讶的,因为我正试图将其保存在包代码本身中,而不是对每个Laravel应用程序进行手动编辑

<?php

namespace Username\Roles\Exceptions;

use Symfony\Component\HttpKernel\Exception\HttpException;

class InsufficientUsergroupException extends HttpException
{
    private $requiredRoles = [];

    public static function forRoles(array $$roles): self
    {
        $permStr = implode(', ', $roles);

        $error = 'Insufficient permissions to access this page.';
        $exception = new static(403, $error, null, []);
        $exception->requiredRoles = $roles;

        //return $exception;

        return view('role::InsufficientRoleAccess')->with('role', $permStr);
    }
    
    public function getRequiredRoles): array
    {
        return $this->requiredRoles;
    }
}

如何从该方法中删除或更正返回类型?您将其定义为返回
self
,但正在返回
视图
对象。。。和
array$$roles
?发布laravel错误刀片模板并自定义您认为合适的静态数据不是更容易吗?