【问题标题】:"Request::is()" not working on laravel 5.5, in blade“Request::is()”不适用于 laravel 5.5,在刀片中
【发布时间】:2018-06-07 01:13:31
【问题描述】:

我正在尝试在活动菜单上设置活动类。过去我为此使用 Request::is() 函数,但在新版本的 laravel 中,它说 "Class 'Request' not found." p>

【问题讨论】:

  • 您是否包含Request 分享您使用的代码?
  • 如何将它包含在刀片中?我过去使用门面。
  • 你为什么这么说In the past I was using Request::is()
  • 因为我做到了:) 我仍在 laravel 5.2 中使用它,它工作正常。现在在新的 laravel 中,当我在刀片中使用请求类时,我得到了未找到的错误。

标签: laravel url request


【解决方案1】:

使用不带“/”的 像这样:

@Request::is('home')

不是

@request::is('/home')

【讨论】:

  • 这如何帮助解决 OP 在 4 年前遇到的“找不到类”错误?
【解决方案2】:

不要把 / 放在路线之前。 应该是这样的

@if(Request::is('index'))
    @include('include.showcase')
@endif

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。Read this
  • 如果用户收到“找不到类”错误,则函数的参数没有任何区别。
【解决方案3】:

当您使用blade 时,您可以使用request 辅助方法。试试这样

request()->is('your_url');

【讨论】:

  • 我刚刚签入了 5.5 版,它在刀片 {{Request::is('admin')?'True':'False'}} 中为 url localhost/admin 工作。
【解决方案4】:

请检查您的代码

您是否将此行添加为命名空间

use Illuminate\Http\Request;

您还可以从控制器端传递一个带有视图的变量,如果您获得该数据,则检查刀片模板,然后您可以为该菜单使用活动类。像这样

在我的项目中使用的控制器中

            $data['page-tab'] = 'adduser';
            return view('user.add_user',compact('data'));

在刀片文件中,我在侧边栏部分这样检查过

 <li class="{{ isset($data['page-tab']) && $data['page-tab'] == 'adduser' ? 'active' : '' }}"><a href="{{ route('adduser') }}"><i class="fa fa-file-text-o"></i>Manage Member</a></li>

希望这对你有用。

【讨论】:

  • 好吧,我想它会起作用,但我正在寻找更好更清洁的解决方案,因为我的菜单有点复杂。
猜你喜欢
  • 2021-12-17
  • 2020-04-10
  • 1970-01-01
  • 2016-01-29
  • 2021-09-08
  • 2019-03-09
  • 1970-01-01
  • 2018-04-11
  • 2018-06-18
相关资源
最近更新 更多