你如何通过Laravel授权在帖子上写“canDeleteComment”政策?

时间:2016-07-27 15:02:03

标签: php laravel return authorization conditional-statements

我有帖子,帖子有评论。 我需要做的是授权评论作者和帖子作者删除同一帖子上的评论。 Idea是被评论的帖子的作者能够从他的帖子中删除不需要的评论,评论的作者也能够删除他留下的评论。 我看到你可以将多个变量传递给Gate外观。 所以我想我可以写这样的政策:

    class CommentPolicy
    {
        public function deleteComment(User $user, Comment $comment, Post $post)
        {        
            //mumbo jumbo goes here
        }

    }

但是好的,你对该政策的逻辑部分有什么看法? 我想的可能就是这样:

return ($user->id === $comment->user_id || $user->id === $post->user_id);

或者也许:

$check =  array ($user->id === $comment->user_id,  $user->id === $post->user_id);

        if (($check[0] = 0) && ($check[1] = 0)){

            return 0;

        }else{

            return 1;
        }

但这是合法的吗?我的意思是php可以这样返回值吗?如果不是,你如何检查这些条件?

0 个答案:

没有答案