拉维公司;Blade PHP-如何动态调用Laravel Blade指令?

拉维公司;Blade PHP-如何动态调用Laravel Blade指令?,php,laravel-5,laravel-blade,Php,Laravel 5,Laravel Blade,是否可以使用变量作为对Laravel Blade指令的调用 对于我的菜单系统,我已经定义了一个组件,我希望能够设置组件中链接的可见性。我创建了许多刀片指令(staff、admin、client,等等),用于检查用户的角色 我的组件定义如下所示: @component('components.primaryMenu', [ 'items' => [ [ 'route' => route('some.uri'), '

是否可以使用变量作为对Laravel Blade指令的调用

对于我的菜单系统,我已经定义了一个组件,我希望能够设置组件中链接的可见性。我创建了许多刀片指令(
staff
admin
client
,等等),用于检查用户的角色

我的组件定义如下所示:

@component('components.primaryMenu', [
    'items' => [
        [
            'route' => route('some.uri'),
            'visibility' => ['staff', 'client'],
            'label' => 'Item 1',
        ],
        [
            'route' => route('another.uri'),
            'visibility' => ['everyone'],
            'label' => 'Item 2',
        ],
    ]
])@endcomponent
    Blade::if('staff', function () use ($user) {
        return $user->isType('staff');
    });

    Blade::if('client', function () use ($user) {
        return $user->isType('client');
    });
我想做的是:

<ul class="nav">
    @foreach($items as $item)
        @foreach($item['visibility'] as $visibility)
            @{{ $visibility }}  // Should interpolate to @staff / @client
                // Link stuff in here
            @end{{ $visibility }} // Should interpolate to @endstaff / @endclient
        @endforeach
    @endforeach
</ul>

你想用
@{{$visibility}
实现什么?什么是“@staff/@client”?@staff是刀片指令。它检查授权用户的角色。哦,对了,现在我明白了;您正在尝试插值可见性,并将其作为指令进行求值。这是什么指令?是自定义的还是if语句?是的,我正在尝试插值。它们是自定义指令。好的,请为自定义指令添加代码。您使用
@{{$visibility}
试图实现什么?什么是“@staff/@client”?@staff是刀片指令。它检查授权用户的角色。哦,对了,现在我明白了;您正在尝试插值可见性,并将其作为指令进行求值。这是什么指令?是自定义的还是if语句?是的,我正在尝试插值。它们是自定义指令。好的,请为自定义指令添加代码。