【问题标题】:How to check current URL inside @if statement in Laravel 5.6如何在 Laravel 5.6 中检查 @if 语句中的当前 URL
【发布时间】:2018-12-09 11:49:16
【问题描述】:

我正在使用 laravel 5.6 并试图检查我当前的 URL 是否在 @if 语句中。

我看到其他一些帖子说它可以像这样@if(Request:url() === 'url to check') 完成。但是我看到的那个特别的帖子是 Laravel 4 的解决方案。任何人都知道如何获取当前的 url 并放入 Laravel 5.6 的 @if 语句中吗?

示例

@if(Request::url() === '/dashboard/attendance/report')
      <a href="#" class="btn btn-danger" target="_blank">Button</a>
@endif

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    我会通过以下方式解决这个问题。

    @if(str_contains(url()->current(), '/dashboard/attendance/report'))
          <a href="#" class="btn btn-danger" target="_blank">Button</a>
    @endif
    

    str_contains() 函数检查字符串(参数#1)是否包含第二个字符串。我更喜欢这个函数,因为 Laravel url() 函数返回一个完整的 url,而你想检查 url 是否包含某个路径。

    url()-&gt;current() 的文档可以在这里找到: https://laravel.com/docs/5.6/urls#accessing-the-current-url

    编辑: 一种确保/dashboard/attendance/report 位于当前网址末尾的方法,您可以使用以下内容:

    @if(substr(url()->current(), -1) == '/dashboard/attendance/report'))
          <a href="#" class="btn btn-danger" target="_blank">Button</a>
    @endif
    

    【讨论】:

      【解决方案2】:

      您不应该检查 URL,而应该检查路由。我会这样做。

      @if (request()->is('admin/myRoute'))
      [do stuff]
      @endif
      

      【讨论】:

      • 您将如何检查当前路线是否与路线相关。即 route()->startsWith('myRoute/')
      猜你喜欢
      • 2013-07-09
      • 1970-01-01
      • 2021-09-28
      • 2021-02-13
      • 2023-03-13
      • 1970-01-01
      • 2018-08-26
      • 2017-12-08
      • 2018-11-14
      相关资源
      最近更新 更多