Я работаю над приложением, которое будет иметь 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... */
И при необходимости добавьте ограничения, например, для группы, которой разрешено редактировать только собственные элементы пользователя, или что-то подобное.
Есть ли другая рекомендуемая техника или это действительно лучшая практика?