#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.хорошо. Спасибо