动态在Laravel中的活动URL上应用“活动”类,什么是干净且可重用的方法?

时间:2018-10-03 20:59:02

标签: laravel laravel-5

对于以下URL:

我想将“活动”类应用于在Laravel中动态导航的用户,如下所示:

<ul>
    <li class="active"><a href="{{ route('users') }}">Users</a></li>
    <li class=""><a href="{{ route('pages') }}">Pages</a></li>
</ul>

在不使用第三方插件的情况下,干净且可重复使用的方法是什么?

1 个答案:

答案 0 :(得分:0)

方法1:单行快捷方式解决方案

  

使用{{request()-> is(' users ')吗? this answer中所述的'active':''}}如下:

<ul>
    <li class="{{ request()->is('*users*') ? 'active' : '' }}"><a href="{{ route('users') }}">Users</a></li>
    <li class="{{ request()->is('*pages*') ? 'active' : '' }}"><a href="{{ route('pages') }}">Pages</a></li>
</ul>

方法2:干净且可重复使用的解决方案

您可以按照以下步骤创建和使用名为“活动”的自定义帮助程序:

  
      
  1. 在您的课程属性中添加{{active('partial-url')}}
  2.   
<ul>
    <li class="{{ active('users') }}"><a href="{{ route('users') }}">Users</a></li>
    <li class="{{ active('pages') }}"><a href="{{ route('pages') }}">Pages</a></li>
</ul>
  
      
  1. 在您的应用目录中创建一个名为“ helpers.php”的文件,并添加此帮助器功能
  2.   
<?php
function active($partialUrl){
      return request()->is("*".$partialUrl."*") ? 'active' : '';
}
  
      
  1. 通过在composer.json文件中添加以下行来添加helpers.php文件以自动加载
  2.   
    ...
     "autoload": {
          ...
          "files": [
              ...
              "app/helpers.php",
          ],
          ...
    },
   ...
上面的代码片段中的

“ ...”表示可能有或没有其他几行代码

  
      
  1. 通过运行以下命令来转储自动加载器
  2.   
composer dump-autoload