Запросить URL в Middleware, но получить класс 'App \ Http \ Middleware \ Request' не найден - PullRequest
1 голос
/ 03 апреля 2020

Я использую Request :: path () в \ rout \ web. php, как следует, и посещение '/ home / test / test1' сработало хорошо, т. Е. Путь показан на веб-сайте.

<?php

use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return view('welcome');
});

Route::get('/home/test/test1', function(){
    echo Request::path();
});

Однако, когда я сделал это в \ app \ Http \ Middleware, появилась ошибка "Class 'App \ Http \ Middleware \ Request' not found".

<?php

namespace App\Http\Middleware;

use Closure;

class CheckAuth
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $path = Request::path();
        return $next($request);
    }
}

Ответы [ 2 ]

2 голосов
/ 03 апреля 2020

Вы пропустили в своем файле Middleware:

use Illuminate\Http\Request;

Измените свой код Middleware на:

<?php

namespace App\Http\Middleware;
use Illuminate\Http\Request;
use Closure;


class CheckAuth
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        $path = $request->path();
        return $next($request);
    }
}

Это должно исправить.

Ссылка: https://laravel.com/docs/5.8/requests#request -path-и-метод

1 голос
/ 03 апреля 2020

На самом деле вы пропустили добавить ссылку в файл промежуточного программного обеспечения. Поэтому добавьте use Illuminate\Http\Request; ниже пространства имен. Тогда ошибка должна быть исправлена.

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