可不可以将 topic 的 update 和 destroy 授权合并成一个 方法
看作者写的 又在 User 类中新增了一个方法, TopicPolicy 中两次调用, 既然 update 和 destroy 使用相同的授权策略, 那为什么不写一个公用的方法为 topic 的 update 和 destroy 操作提供授权, 比如
// TopicPolicy.php
public function updateAndDestroy(User $user, Topic $topic){
return $topic->user_id == $user->id;
}
// TopicController.php
public function update(TopicRequest $request, Topic $topic){
$this->authorize('updateAndDestroy',$topic);
...
}
public function destroy(TopicRequest $request, Topic $topic){
$this->authorize('updateAndDestroy',$topic);
...
}
推荐文章: