有一个 OrderController, 怎么写可以让不同权限的人显示不同内容,而且比较好维护呢?

三种用户都会用到 Order, 分别是:

  • 客户 User 查看我的订单进度, 查看, 取消
  • 商家 Branch 查看自己的订单,进行操作,改
  • 系统管理员 (Admin) 有完全权限的操作, 增删改
  • 他们的View不完全一样,但是有部分又是一样的, 怎么做方便维护Controller和View, 同时方便做好权限管理呢?

方法①

  • UserController@order
  • BranchController@order
  • AdminController@order

方法②

  • OrderController@User
  • OrderController@Branch
  • OrderController@Admin

刚开始第一个laravel项目,求指点,谢谢!

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 12
Summer

我会选择方法三:

  • OrderController@User
  • OrderController@Branch
  • AdminController@order

原因:

  • Site 和 Admin 业务逻辑代码分离, 因为 Make Sense, 比较好理解, 开发的时候好理解 (统一代码权限处理什么的), 看代码的人也好理解.
  • Order 不是 UserController 的问题, 该让 OrderController 来管;
10年前 评论
Summer

This is a Good Question! :+1:

10年前 评论
Summer

建议命名规范:

  • OrderController@userIndex
  • OrderController@userStore
  • OrderController@userUpdate

Branch 同上.

10年前 评论

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