Идеология построения проекта

Доброго времени суток.

Начал потихоньку разбираться с Yii, но так и не понял идеологию построения проекта.

Есть контроллеры, виджеты, модули, дополнения что то еще чего я не нашел =). Как это все связывается? Могу ли я построить приложение только используя модули? Совсем запутался.

Модель-Представление-Контроллер (MVC)

Немного теории

Это все давно прочитано.

Когда делал свои веб приложения с 0, реализация была такая:

Создавался объект приложения, он в зависимости от урла выбирал и подгружал пачку модулей которые размещались по шаблончику. Каждый модуль имел Модель-Представление-Контроллер.

А с Yii я как то запутался.

В документации всё неплохо описано. Если лень читать, или непонятно, могу ещё посоветовать создать каркас приложения и просто посмотреть на структуру.

Как создать каркас

Ещё можно посмотреть образцы в директории фреймворка.

…\yii\demos

Да не лень…

Доки почитал, демо посмотрел, на голом скелете настроил авторизацию.

Я правильно понял, страница это - один контроллер + пачка виджетов?

Страница - может быть лишь один view (http://www.yiiframework.com/doc/cookbook/22/), может быть view+controller+model (чаще всего), может быть только controller+model (например при совершении какого-то лишь действия, например передача данных формы, с последующим возвратом к предыдущему view), короче говоря виджеты не главное. Они тоже часто бывают. На них удобно информационные блоки какие то строить. Я лично их чаще всего для этого и использую в layouts

Хорошо, тогда вопрос такой: есть страничка с основным контентом(скажем статья) на ней же меню логина, поиск, рейтинг чего либо. В этом случае статья - view+controller+model. Как быть с остальным, это выделять в модули? А мелочевку в виджеты?

то, что обычно повторяется на разных страницах принято представлять, как виджеты, например есть виджет pagination

вот, если есть форма логина в layout сайта, то ее лучше бы представить виджетом