Почему бы и нет?
Это все зависит от вас, но я действительно не вижу причин, чтобы избегать СУХОЙ (LOL). Смысл MVC в том, чтобы отделить контроллер / модель / представление, ничего больше:)
EDIT:
Тем не менее, контроллер может вызывать свои собственные методы внутри действий. Хорошей практикой будет давать имена методов действия, такие как action_something или something_action, и иметь «базовый» контроллер, который вы расширите позже. Как;
Controller
Controller_Application extends Controller
Controller_Layout extends Controller_Application
, где первым будет какая-то «абстракция» (ориентированная на фреймворк), а другие будут заботиться о логике приложения. Так что позже у тебя будет ...
Controller_Forum extends Controller_Layout
Controller_News extends Controller_Layout
Controller_Ajax extends Controller_Application
в зависимости от того, для чего вы хотите использовать определенный контроллер.
Все зависит от вас; Вы можете поместить свои собственные методы в любое место и вызывать их из любого места:)