为了用中间件组织我的源代码,我想把我所有的身份验证中间件都放在我创建的/App/Http/middleware/auth文件夹中。作为测试,我在auth foler中创建了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代表什么?