可不可以将 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);
    ...
}
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2

完全可以合并成一个方法,在教程 5 里就有这样的实践;在这个教程里分开写,我想还是为了教授授权策略的使用,一个动作使用同名的授权方法,对于新手来说更容易接受一些。

5年前 评论

完全可以合并成一个方法,在教程 5 里就有这样的实践;在这个教程里分开写,我想还是为了教授授权策略的使用,一个动作使用同名的授权方法,对于新手来说更容易接受一些。

5年前 评论

其实教程中很多地方都是可以简写的 例如:图片上传 看文档只需要简单两行代码 在控制器中!我想作者应该让大家知道多种方法!

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!