Php ReflectionException:类不存在-中间件
我最近建立了一些新的中间件,作为我正在集成的权限系统的一部分 我以前安装自定义中间件时没有遇到任何问题,我相信我遵循了相同的过程,但这次我在添加新中间件的每个控制器上都会遇到以下错误: Container.php第734行中的ReflectionException: 类App\Http\App\Http\Middleware\HasPermissionPermissions不存在 我可以理解它为什么会出错,因为这条路径并不存在——但我无法理解它是从哪里得到这条路径的 这是我的中间件:Php ReflectionException:类不存在-中间件,php,laravel,laravel-5.2,middleware,Php,Laravel,Laravel 5.2,Middleware,我最近建立了一些新的中间件,作为我正在集成的权限系统的一部分 我以前安装自定义中间件时没有遇到任何问题,我相信我遵循了相同的过程,但这次我在添加新中间件的每个控制器上都会遇到以下错误: Container.php第734行中的ReflectionException: 类App\Http\App\Http\Middleware\HasPermissionPermissions不存在 我可以理解它为什么会出错,因为这条路径并不存在——但我无法理解它是从哪里得到这条路径的 这是我的中间件: <?
<?php
namespace App\Http\Middleware;
use Closure;
use Auth;
class HasPermissionPermissions
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (Auth::user()->hasPermissionTo('permissions'))
{
return $next($request);
}
else
{
flash()->error('You are not authorised to access this route.');
return redirect('/');
}
}
}
最后,我在其中设置的控制器:
class PermissionsController extends Controller
{
public function __construct()
{
$this->middleware('auth');
$this->middleware('hasPermissionPermissions');
$this->middleware('email.confirmation.check');
}
如果我删除$this->middleware('hasPermissionPermissions')代码>它工作得很好,但我看不出我是如何设置它的
有人知道我哪里出错了吗?这是一个好问题,这可能是一个简单的想法,我认为您已经这样做了,但是您确定中间件确实被放在了中间件目录中吗
亲切的问候我再肯定不过了。它肯定在那里。我使用php-artisan-make:middleware
创建了它,以便首先将它放在正确的目录中。我不明白它是如何得到不正确的文件路径的——因为这就是我如何设置其他工作正常的中间件的。这不应该是一个评论而不是一个答案吗?是的,但我不能评论,因为我目前的声誉低于50分composer dump autoload
会do@CerlinBoss我已经试过了,还有composerdump autoload-o
尝试将中间件密钥从hasPermissionPermissions
更改为hasPermissions.permissions
,然后查看是否有效。抱歉,没有正确查看命名空间。当您放置相对命名空间时,将出现此错误
class PermissionsController extends Controller
{
public function __construct()
{
$this->middleware('auth');
$this->middleware('hasPermissionPermissions');
$this->middleware('email.confirmation.check');
}