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

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

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

方法①

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

方法②

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

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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 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年前 评论

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