Модель MVC в PHP

Хочется написать свой движок, ради обучения, забавы и просто покопаться, вот и буду писать тут серию постов о том как я разбирался с написанием движка сайта на PHP. Полазив в инете стало ясно, что сейчас самое рульное в программировании сайтов это MVC…

Сначала выясним что такое MVC например в вики.

В общем MVC это некая универсальная заморочка для программирования, удобная и не очень одновременно. В PHP объектно-ориентированное программирование раскрывается во всей красе..
Смотрим на картинку и познаем дао.

Напишу как я это понимаю, если хотите возражайте…

Модель MVC в PHP:

MVCМодель-Вид-Контроллер…Все просто, программа состоит из трех частей, каждая часть независима друг от друга, поэтому их можно редактировать каждую отдельно и при этом не нужно корректировать другие части.

Вид -  это часть программы (модулей, блоков, классов)которая отвечает за вывод инфы на экран.. это может быть шаблонизатор, или функция с выводом типа <?php echo “Привет мир”; ?>, так же тут находятся все инструменты взаимодействия с пользователем…всякие там формы, кнопки, менюшки…передается все в основном через GET или POST.

Контроллер – это часть программы (модулей, блоков, классов) который в общем то управляет всем сайтом. Обрабатывает полученные данные от пользователя, делает проверку запросов,что-то там переваривает, что-то там химичит и, если нужно, обращается к блоку “Модель” из которой берет нужные данные и передает эти данные обратно блоку “Вид”, который в свою очередь выдает пользователю в удобночитаемом виде или в том виде который Вы заложили в блоке “Вид”.

Модель — это часть программы (модулей, блоков, классов) которая содержит все операции с данными, обычно это работа с базой данных типа mySQL. Блок принимает набор параметров от блока “Контроллер” в зависимости от этого формирует запрос и выдает некий  массив с данными, его принимает контроллер может чет еще похимичит с этими данными и выдает этот массив блоку “Вид”. Можно правда еще поставить стрелку от “Модели” к “Виду” сразу, но не будем заморачиваться…пусть будет проще.

Вот таков первый пост по теме… все просто и весело как секс с маракасами….

P.S. чуть не забыл пояснить что за циферки на картинке:

(1) – это запросы POST, GET;

(2) – это массив с данными, готовый для переваривания блоком “Вид”;

(3) – это запрос (набор параметров для класса) на получение нужных данных из блока “Модель”;

(4) – массив данных, который выдается через “Контроллер”  “Виду” сразу или что-то еще изменив.