Класс IlluminateRouting MiddlewareRolemiddleware не существует

#php #laravel

#php #laravel

Вопрос:

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

мой код маршрутизатора

 <?php

Route::get('role',[
    'middleware' => 'Role:editor',
    'uses' => 'TestController@index',
])->middleware('role');

?>
  

kernal.php

 protected $routeMiddleware = [
        'auth' => AppHttpMiddlewareAuthenticate::class,
        'auth.basic' => IlluminateAuthMiddlewareAuthenticateWithBasicAuth::class,
        'can' => IlluminateFoundationHttpMiddlewareAuthorize::class,
        'guest' => AppHttpMiddlewareRedirectIfAuthenticated::class,
        'throttle' => IlluminateRoutingMiddlewareThrottleRequests::class,
        'Age' => AppHttpMiddlwareAgeMiddleware::class,
        'Role' => AppHttpMiddlwareRoleMiddleware::class,
    ];
  

RoleMiddleware.php

 <?php

namespace AppHttpMiddleware;

use Closure;

class RoleMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next, $role)
    {
        echo "Role: ".$role;
        return $next($request);
    }
}
  

?>

Вот мой код TestController:

 <?php

namespace AppHttpControllers;

use IlluminateHttpRequest;

use AppHttpRequests;


class Firstcontroller extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return IlluminateHttpResponse
     */
    public function index()
    {
        //
        echo '<br>First Controller';
    }

?>
  

Я получаю сообщение об ошибке: класс Illuminate Routing Middleware Rolemiddleware не существует. Я новичок в Laravel и использую Laravel 5.3. Можете ли вы, пожалуйста, сказать мне, почему это выдает мне ошибку

Комментарии:

1. ‘Role’ => App HttpMiddlewareRoleMiddleware::class, в слове Middleware есть ошибка в написании

2. Привет, пользователь2226181, спасибо за ответ, но я сожалею, что допустил эту орфографическую ошибку в Stck flow при написании этой проблемы, мой код имеет правильное написание промежуточного программного обеспечения

Ответ №1:

В kernal.php вы делаете орфографическую ошибку в word Middlware

измените это

 'Age' => AppHttpMiddlwareAgeMiddleware::class,
  'Role' => AppHttpMiddlwareRoleMiddleware::class,
  

Для

 'Age' => AppHttpMiddlewareAgeMiddleware::class,
'Role' => AppHttpMiddlewareRoleMiddleware::class,
  

Комментарии:

1. Привет, iCoders, спасибо за ответ, но я сожалею, что допустил эту орфографическую ошибку в Stck flow при написании этой проблемы, мой код имеет правильное написание промежуточного программного обеспечения

2. Спасибо, чувак, я понял проблему, на самом деле проблема заключалась в пути к промежуточному программному обеспечению в Kernal.php ‘Age’ => App Http MiddlewareAgeMiddleware::class, я использовал неправильный путь

3. @пользователь2226181.хорошо. Спасибо