繁体   English   中英

Laravel PHP:自定义中间件目录问题

[英]Laravel PHP : Issue with Custom Middleware Directory

为了使用中间件组织我的源代码,我想将所有身份验证中间件放在我创建的 /App/Http/Middleware/Auth 文件夹中。 作为测试,我在 Auth 文件夹中创建了 auth_none.php。

<?php
namespace App\Httpd\Middleware\Auth;

use Closure;

class access_none {
protected $session;
protected $key;

public function __construct() {
    $this->session = $_COOKIE['session'];
    $this->key = $_COOKIE['key'];
}

public function handle($request, Closure $next) {
    return $next($request);
}
}

那是我的 auth_none.php

还有我的 Kernel.php

<?php

namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel
{
/**
 * The application's global HTTP middleware stack.
 *
 * These middleware are run during every request to your application.
 *
 * @var array
 */
protected $middleware = [
    \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class
];

/**
 * The application's route middleware groups.
 *
 * @var array
 */
protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \App\Http\Middleware\VerifyCsrfToken::class,
    ],

    'api' => [
        'throttle:60,1',
    ],
];

/**
 * The application's route middleware.
 *
 * These middleware may be assigned to groups or used individually.
 *
 * @var array
 */
protected $routeMiddleware = [
    'https' => \App\Http\Middleware\Https::class,
    'auth.none' => \App\Http\Middleware\Auth\access_none::class
];
}

这是我在页面上遇到的错误。

    ReflectionException in Container.php line 738:
Class App\Http\Middleware\Auth\access_none does not exist
in Container.php line 738
at ReflectionClass->__construct('App\Http\Middleware\Auth\access_none') in Container.php line 738
at Container->build('App\Http\Middleware\Auth\access_none', array()) in Container.php line 633
at Container->make('App\Http\Middleware\Auth\access_none', array()) in Application.php line 697
at Application->make('App\Http\Middleware\Auth\access_none') in Pipeline.php line 123
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in Https.php line 9
at Https->handle(object(Request), object(Closure))
at call_user_func_array(array(object(Https), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in Router.php line 726
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 699
at Router->dispatchToRoute(object(Request)) in Router.php line 675
at Router->dispatch(object(Request)) in Kernel.php line 246
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52
at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 44
at CheckForMaintenanceMode->handle(object(Request), object(Closure))
at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 124
at Pipeline->Illuminate\Pipeline\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32
at Pipeline->Illuminate\Routing\{closure}(object(Request))
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103
at Pipeline->then(object(Closure)) in Kernel.php line 132
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 99
at Kernel->handle(object(Request)) in index.php line 54

您的命名空间中有拼写错误。

改变

namespace App\Httpd\Middleware;

namespace App\Http\Middleware\Auth;

在 access_none 类中。

进一步阅读: PSR-0 代表什么?

暂无
暂无

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

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