美文网首页
laravel debugbar 和hieu-le/active

laravel debugbar 和hieu-le/active

作者: 陈大芮 | 来源:发表于2019-08-27 16:55 被阅读0次

    laravel-debugbar

    1.使用composer安装该扩展包
    composer require barryvdh/laravel-debugbar --dev

    2.安装完成后,在config/app.php 的providers数组追加如下:
    Barryvdh\Debugbar\ServiceProvider::class

    3.运行如下命令生成扩展的配置文件
    php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider"

    4.可以发现在config文件夹中生成了debugbar.php文件,enabled是根据.env文件中的APP_DEBUG的值来判断是否开启,将该值置为true或者将图中的false修改为true。


    image.png

    hieu-le/active

    有时候我们需要通过判断『路由命名』和『路由参数』为导航栏添加 active 类,接下来我们使用一个很方便的类库来辅助我们实现此功能。
    1.使用 Composer 安装 hieu-le/active
    composer require hieu-le/active

    2.在config/app.php的providers数组中添加如下:
    HieuLe\Active\ActiveServiceProvider::class,

    3.在config/app.php的aliases 数组中添加如下:
    'Active' => HieuLe\Active\Facades\Active::class,

    在blade模板中使用:

    <li class="nav-item {{ active_class(if_route('topics.index')) }}"><a class="nav-link" href="{{ route('topics.index') }}">话题</a></li>
            <li class="nav-item {{ active_class((if_route('categories.show') && if_route_param('category', 1))) }}"><a class="nav-link" href="{{ route('categories.show', 1) }}">分享</a></li>
            <li class="nav-item {{ active_class((if_route('categories.show') && if_route_param('category', 2))) }}"><a class="nav-link" href="{{ route('categories.show', 2) }}">教程</a></li>
            <li class="nav-item {{ active_class((if_route('categories.show') && if_route_param('category', 3))) }}"><a class="nav-link" href="{{ route('categories.show', 3) }}">问答</a></li>
            <li class="nav-item {{ active_class((if_route('categories.show') && if_route_param('category', 4))) }}"><a class="nav-link" href="{{ route('categories.show', 4) }}">公告</a></li>
    

    讲解下 active_class 函数的用法,此函数的定义如下:

    /**
     * 如果 $condition 不为 False 即会返回字符串 `active`
     *
     * @param        $condition
     * @param string $activeClass
     * @param string $inactiveClass
     *
     * @return string
     */
    function active_class($condition, $activeClass = 'active', $inactiveClass = '')
    

    如果传参满足指定条件 (condition) ,此函数将返回activeClass,否则返回 $inactiveClass。

    此扩展包提供了一批函数让我们更方便的进行 $condition 判断:

    if_route () - 判断当前对应的路由是否是指定的路由;
    if_route_param () - 判断当前的 url 有无指定的路由参数。
    if_query () - 判断指定的 GET 变量是否符合设置的值;
    if_uri () - 判断当前的 url 是否满足指定的 url;
    if_route_pattern () - 判断当前的路由是否包含指定的字符;
    if_uri_pattern () - 判断当前的 url 是否含有指定的字符;
    在这里我们只用到了第 1 和 第 2 。

    相关文章

      网友评论

          本文标题:laravel debugbar 和hieu-le/active

          本文链接:https://www.haomeiwen.com/subject/xsgeectx.html