Laravel App \ Http \ Middleware \ Class не найден - PullRequest
1 голос
/ 27 июня 2019

Просто перенесли мое приложение Laravel из локальной среды в среду онлайн-разработки на удаленном сервере.После этой миграции я получаю сообщение об ошибке:

ReflectionException thrown with message "Class App\Http\MiddleWare\NotUser does not exist"

Я удалил папку vendor, а также composer.lock и запустил composer update.Также очищен bootstrap/cache, а также попытался запустить php artisan config:clear.

Вычистил все cache/* файлы из хранилища.Всякий раз, когда я пытаюсь войти в систему, я получаю сообщение об ошибке, что промежуточное ПО не существует.

app / Http / Middleware / NotUser.php

<?php

namespace App\Http\Middleware;

use Closure;

class NotUser
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        # This middleware prevents anyone who is not an admin from accessing given route or controller
        # apply by using it in the constructor, $this->middleware('is.admin');
        if ($request->user()->role->name === 'user') {
            return back()->with('error', __('Access denied'));
        }

        return $next($request);
    }
}

app / Http / Kernel.php

protected $routeMiddleware = [
...
'not.user' => \App\Http\MiddleWare\NotUser::class
];

routs / web.php

Route::group(['prefix' => 'admin', 'middleware' => ['not.user', 'auth']], function () { ... }

Это прекрасно работает в локальной среде.У меня не было проблем.После того, как я переключился на среду разработки, я начал получать эту ошибку, и я понятия не имею, что вызывает это.

1 Ответ

2 голосов
/ 27 июня 2019

Пространство имен чувствительно к регистру, я считаю, поэтому измените это:

protected $routeMiddleware = [
...
'not.user' => \App\Http\MiddleWare\NotUser::class
];

на это:

protected $routeMiddleware = [
...
'not.user' => \App\Http\Middleware\NotUser::class
];

Обратите внимание на заглавную W в Middleware.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...