Laravel Request :: is() - 有更好的方法吗?

时间:2016-11-26 17:14:16

标签: php laravel

@if(Request::is('login') OR Request::is('tags') OR Request::is('categories') OR Request::is('posts') OR Request::is('tags/..') OR Request::is('categories/..') OR Request::is('posts/..') OR Request::is("posts/{$post->id}"))
    @include('partials._navAdmin')
  @else  
    @include('partials._nav')

这是我的main.blade.php文件中的一个示例,现在我正在做的是我尝试使用2个不同的导航栏 - 我知道有更好的方法来做到这一点但我仍然可以& #39; t掌握它!

我不认为重复Request ::一遍又一遍是好的编码标准。我是新手:(那里我想念的是什么?

2 个答案:

答案 0 :(得分:15)

is()方法遍历参数:

foreach (func_get_args() as $pattern) {
    if (Str::is($pattern, $this->decodedPath())) {
        return true;
    }
}

所以,这样的事情对你有用:

@if(Request::is('login', 'tags', 'categories', 'posts', 'tags/..', 'categories/..', 'posts/..', 'posts/{$post->id}'))

答案 1 :(得分:1)

对于 用户添加:- Request :: is('user / add');

用户编辑:- Request :: is('user / / edit'); Request :: is('user / edit / ');