I'm working on an app that will have 6 ARO groups in order to cover the required permissions spectrum. It is really best practice to have *_add, *_edit, *_index, *_view, etc. methods for each? That seems like a bit of code overload and maintenance headache. The "cheapest" way I can imagine to handle it with routing is something like:
// 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... */
And toss in restrictions where necessary for, say, a group being allowed to only edit user's own items, or something similar.
Is there another recommended technique or is this really the best practice?