2016-10-05 4 views
2

Я следую за this tutorial. В настоящее время я использую laravel 5.3, поэтому он немного устарел. Я сделал шаг за шагом, как сказал учебник, однако, я получаюКласс не существует - Laravel

ReflectionException in Container.php line 749: 
    Class First does not exist 

in Container.php line 749 
at ReflectionClass->__construct('First') in Container.php line 749 
at Container->build('First', array()) in Container.php line 644 
at Container->make('First', array()) in Application.php line 709 
at Application->make('First') in Kernel.php line 173 
at Kernel->terminate(object(Request), object(Response)) in index.php line 58 
at require_once('C:\xampp5\htdocs\laravel\laravel\public\index.php') in server.php line 21 

Все так же, как в учебнике. Я понятия не имею, где может быть проблема.

+0

Добавь свой код пожалуйста! – rbr94

+0

@ rbr94 Я сказал, что код точно подобен учебнику. Как буквально копия. – prgrm

ответ

6

Проблема заключается в том, что вы создали FirstMiddleware но вы называли его только как First здесь:

<?php 
Route::get('/usercontroller/path',[ 
    'middleware' => 'First', 
    'uses' => '[email protected]' 
]); 

Как указано в официальных документах,

, если вы хотите назначить связующее ПО для конкретных маршрутов, вы должны сначала назначить промежуточное программное обеспечение для ключа app/Http/Kernel.php

Итак, добавьте в файл app/Http/Kernel.php:

protected $routeMiddleware = [ 
    // the other route middlewares are defined here 
    'First' => \App\Http\Middleware\FirstMiddleware::class, // add this line 
] 

Я думаю, что это должно быть достаточно.

Смежные вопросы