Laravel 8 提供上下文
能够用于授权的 Gate 方法(allows,denies,check,any,none,authorize,can,cannot)和授权 blade directives (@can,@cannot,@canany)可以接收一个数组作为第二个参数。这些数组元素作为参数传递给 gate ,在做出授权决策时可用于其他上下文:
Gate::define('create-post', function ($user, $category, $extraFlag) {
return $category->group > 3 && $extraFlag === true;
});
if (Gate::check('create-post', [$category, $extraFlag])) {
// 授权该用户可创建文章
}