Сергей Протько: я понял! я делаю почти так же: объектные роли - Domain Layer+DB, Application - манипуляция ролями (+логика), Framework - это уже объектные MVC.
Сергей Протько: внутри блока - согласен, а при передаче от блока к блоку - проверять принимаемые структуры данных должны модульные стыки. Тогда массу ошибок автоматом переловит сама модульная архитектура. (это я из опыта и практики уже говорю)
Mike Evstropov: всегда следите, чтобы был в php.ini register_globals Off.
В противном случае, можно через POST/GET задать:
/?server_output=blabla и автоматом переменная получит значение внутри php: $server_output='blabla';