首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Middleware中请求url,但找不到获取类'App\Http\Middleware\ Request‘

在Middleware中请求url,但找不到获取类'App\Http\Middleware\ Request‘
EN

Stack Overflow用户
提问于 2020-04-03 19:25:50
回答 2查看 334关注 0票数 1

我在\routes\web.php中使用Request:: path (),如下所示,访问'/home/test/test1‘运行良好,即路径显示在网站上。

代码语言:javascript
复制
<?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“。

代码语言:javascript
复制
<?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);
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-03 19:27:42

您在您的中间件文件中遗漏了:

代码语言:javascript
复制
use Illuminate\Http\Request;

将您的中间件代码更改为:

代码语言:javascript
复制
<?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-and-method

票数 2
EN

Stack Overflow用户

发布于 2020-04-03 19:54:14

实际上,您没有在中间件文件中添加引用。因此,在名称空间下面添加use Illuminate\Http\Request;。那么错误应该被修复。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61010809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档