Сложно? Не

Сега имаш:
GeSHi (PHP):
// Controller
if ($ACL->hasPermition('edit', 'profile'))
{
$this->model->editProfile();
}
// Model
if ($ACL->hasPermition('edit', 'username'))
{
$this->username = $reguest->post->username;
}
// View
if ($ACL->hasPermition('edit', 'username'))
{
$this->template->display('usernameTextBoxEditable');
}
else
{
$this->template->display('usernameTextBoxReadonly');
}
А аз искам (примерно):
GeSHi (PHP):
// Controller
$this->model->editProfile();
// Model
$this->username = $reguest->post->username;
// View
$this->template->display('usernameTextBoxEditable');
$this->template->display('usernameTextBoxReadonly');
Т.е. MVC обектите да предоставят всичкия необходим код за редактиране и изобразяване на информацията без да се интересуват от прават на текущия потребител.
Сложното е да се измисли и имплементира класът, който управлява чрез капсулация тези обекти и за това е разискването тук. Но след като той е готов, разработването на същинската част от дадено уеб приложение - MVC класовете е в пъти по-лесно. Би се постигнала такава гранулация и лекота на манипулацията на правата на потребителя (при това в "runtime"), която в момента е немислима.
По отношение на производителността - в горните линкове съм направил няколко тестове - естествено има спад, но дали той ще се отрази на система, в която bottleneck-а не е PHP кода (а примерно DB заявките и/или template системата, както обикновено) е малко вероятно.