我正在开发一个具有6个ARO组的应用程序,以涵盖所需的权限范围。最好的做法是每个都有* _add,* _edit,* _index,* _view等方法?这似乎有点代码过载和维护头痛。我可以想象用路由处理它的“最便宜”的方式是:
// core: edit
function _edit($id = null)
{
// do stuff
}
function admin_edit($id = null)
{
$this->_edit($id);
}
function manager_edit($id = null)
{
$this->_edit($id);
}
function clerk_edit($id = null)
{
$this->_edit($id);
}
/* ...and on and on... */
并且在必要时限制,例如,允许某个组仅编辑用户自己的项目或类似内容。
是否有其他推荐技术或者这是最佳做法?
答案 0 :(得分:0)
据推测,您想为每个群组提供不同的功能吗?
如果情况并非如此,则不需要为每个组使用不同的CRUD方法。
另一方面,如果是这种情况,请查看CRUD方法中的switch语句,以找出具有哪些功能的人。
没有必要为每个组都有一个方法。