Не могу использовать Laravel Singleton внутри Middleware - PullRequest
0 голосов
/ 18 октября 2019

У меня есть специальное промежуточное ПО, в котором я хочу использовать одноэлементное ПО, которое я использую для передачи переменных php в мой интерфейс, однако я получаю следующую ошибку:

 ReflectionException (-1)
Class App\Http\Middleware\Javascript does not exist

Мое промежуточное ПО:

<?php
namespace App\Http\Middleware;


use Closure;
use Illuminate\Http\Request;
use Auth;



class AuthAdmin
{


    public function handle($request, Closure $next)
    {
        $user = Auth::user();

        if($user && $user['privileges'] > 2)
        {
            return $next($request);   
        }

        app(Javascript::class)->put(['showLoginModal' => true]);

        return redirect('/');

    }
}

Мой ServiceProvider:

<?php
namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use App\Helpers\Javascript;


class JavascriptServiceProvider extends ServiceProvider
{
    public function register()
    {
        $this->app->singleton(Javascript::class, Javascript::class);
    }
}

дамп-автозагрузка композитора ничего не исправила, у меня возникли проблемы, когда класс Javascript по какой-то причине не найден, есть идеи или предложения?

1 Ответ

0 голосов
/ 18 октября 2019

Попробуйте импортировать класс Javascript в ваше промежуточное ПО. Он пытается найти его в неправильном пространстве имен.

middleware:

<?php
namespace App\Http\Middleware;
use App\Helpers\Javascript;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...