【发布时间】:2015-11-11 15:19:12
【问题描述】:
我用 laravel 5.1 安装了 Zizaco/entrust (https://github.com/Zizaco/entrust) 并将它们添加到 provider 和 aliases 数组中
'providers' => [
....
Zizaco\Entrust\EntrustServiceProvider::class,
]
'aliases' => [
....
'Entrust' => Zizaco\Entrust\EntrustFacade::class,
]
我可以从控制器访问所有 Entrust 功能,例如:$user->hasRole('admin') 没有问题,但是当我在我的视图中尝试这个时它不起作用
@role('admin')
....
@endrole
它只是将@role('admin') @endrole 显示为html。所以我尝试了
@if(\Entrust::role('admin'))
...
@endif
我得到了
Call to undefined method Zizaco\Entrust\Entrust::role()
我是否必须执行任何其他配置或更改才能使@role 正常工作?还是我错过了什么?
提前致谢
【问题讨论】:
-
只是为了确定一下,你有没有
composer dump-autoload? -
是的,我做了一个
composer dump-autoload -
@role是刀片模板引擎的功能吗?->role()或::role()是Entrust的函数吗?据我所知,Entrust门面正在工作,你只是使用不当...... -
我认为
@role应该是Entrust的一个功能。它在文档中说“三个指令可在您的 Blade 模板中使用。”@role@permission和@ability
标签: php laravel laravel-5 laravel-5.1