#php #laravel
#php #laravel
Вопрос:
Я следую этому руководству. В настоящее время я использую laravel 5.3, поэтому он немного устарел. Я сделал шаг за шагом, как сказано в руководстве, однако я получаю
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:xampp5htdocslaravellaravelpublicindex.php') in server.php line 21
Все точно так же, как в учебнике. Я понятия не имею, в чем может быть проблема.
Комментарии:
1. Добавьте свой код, пожалуйста!
2. @rbr94 Я сказал, что код точно такой же, как в учебнике. Как буквально копия.
Ответ №1:
Проблема в том, что вы создали FirstMiddleware
, но вы ссылались на него только как First
здесь:
<?php
Route::get('/usercontroller/path',[
'middleware' => 'First',
'uses' => 'UserController@showPath'
]);
Как указано в официальных документах,
если вы хотите назначить промежуточное программное обеспечение определенным маршрутам, вам следует сначала назначить промежуточному программному обеспечению ключ в вашем
app/Http/Kernel.php
Итак, добавьте это в свой app/Http/Kernel.php
файл:
protected $routeMiddleware = [
// the other route middlewares are defined here
'First' => AppHttpMiddlewareFirstMiddleware::class, // add this line
]
Я думаю, этого должно быть достаточно.