使用盖茨
Gates
是确定是否允许用户对资源执行特定操作的闭包。Gates
通常在 AuthServiceProvider
的启动方法中定义,并简洁地命名以反映它正在做的事情。只允许高级用户查看某些内容的门的示例如下所示:
Gate::define('view-content', function ($user, $content){
return $user->isSubscribedTo($content->id);
});
Gate
总是接收用户实例作为第一个参数,在使用门时不需要传递它,并且可以选择性地接收其他参数,例如关注的雄辩模型。