Так вот, чтобы не пилить все это самому, как раз таки и берут готовый фреймворк (в котором есть еще и работа с БД и шаблонизаторы) и делают 3 простых шага, которые я описал выше, для реализации логики своего приложения.
@cac95 не знаю где такое можно увидеть в актуальных примерах - это бред.
Плохо хотя бы тем, что, по-видимому у вас нет единой точки входа в приложение, нет автозагрузки компонентов (классов), роутинга.
page.php - в данном случае контроллер, значит тоже должен быть классом если хотите использовать ООП.
постоянные require/include в файлах с ростом проекта ведут к большому гемморою, когда один класс нужно использовать в нескольких местах.
Грамотно спроектированная система устроена так, что вам не нужно что-то подключать при добавлении новых сущностей в коде.
Т.е. если, например, нужно добавить новый контроллер с новой логикой:
- создаете класс контроллера
- прописываете его в роутинг
- добавляете если нужно вьюхи, модели и т.п.
И все начинает работать, без всяких подключений чего-то еще в новых файлах, без засорения глобального пространства имен и переменных.
Для удобного разруливания зависимостей компонентов системы курите в сторону Dependency Injection, SOA
@Kimel есть конечно, но реализация их в Symfony2 объективно красивее, и качества кода выше, при этом фреймворк гораздо проще в конфигурировании нежели ZF2.
Хотя все это слегка субъективно, но многие скажут также как я.