2016-03-30 7 views
1

私のソースをミドルウェアで整理するために、作成した/ App/Http/Middleware/Authフォルダにすべての認証ミドルウェアを入れたいと思います。テストとして私はauth_none.phpをAuthフォルダに作成しました。Laravel PHP:カスタムミドルウェアディレクトリの問題

私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 
]; 
} 

ザッツ

<?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); 
} 
} 

そして、ここでは、私は私のページに取得していますエラーです。

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 

答えて

1

名前空間に入力ミスがあります。

access_noneクラスの
namespace App\Http\Middleware\Auth; 

変更

namespace App\Httpd\Middleware; 

さらなる読書:What does PSR-0 stand for?

+0

私はそれをしました。まだ同じこと – Marshell

+0

あなたの投稿を編集しましたが、誤植はまだあります:HttpdをHttpに変更してみてください –

+0

はい私の投稿を編集しました – Marshell