mvc

MVC шаблон проектирования

Что такое MVC шаблон пректирования? Рассмотрим по схеме ниже:

MVC шаблон проектированияТ.е. видим 3 части: Model, View, Controller.

Controller — это какой-то код, который все ‘разруливает’. Первые данные, которые мы получаем, приходят в контроллер. В нем нет никакого HTML, SQL-запросов, только чистый php код. В контроллере также содержатся всевозможные методы (action). В зависимости от запроса, контроллер решает, какую модель поведения в данный момент выбрать.

Model — здесь описываются модели поведения. Модель уже соединяется с базой данных илис файлом. Модель затем может обратно вернуть данные контроллеру, которые он передаст View (шаблону).

View — это шаблон. Контроллер в зависимости от ситуации выбирает какой-то шаблон. А в шаблоне уже описан HTML, CSS. Т.е. информация заполняется в шаблон, и все это в конце отдается пользователю.

Когда мы используем MVC, у нас есть серверная часть и само приложение. Рассмотрим каждую часть отдельно.

MVC — серверная часть

Web Server.

  • /path/to/somefile.php — путь к файлу.
  • /controller/action[/key 1][/value 1]…[/key n][/value n] — сначала передается контроллер, затем action, в конце ключ-> значение.
  • mod_rewrite => bootstrap file — в этом файле производится инициализация фреймворка (типа стандартного index.php).
  • Инициализация фреймворка:
  1. загрузка файлов,
  2. чтение конфигурации,
  3. парсинг URL для дальнейших действий,
  4. создание объектов,
  5. инициализация контроллеров.

MVC — приложение

Само приложение состоит из трех частей:

  • Action и Controllers.
  1. Создание FrontController (встроенный) — самый главный фреймворк. В нем происходит интерпретация переменных запроса и направление исполняемого кода.
  2. В ActionControllers (пользовательские) — мы сами описываем action = method выполняет всю черновую работу: создание моделей, парсинг шаблонов, вывод результата.
  • Models.
  1. Простые классы-утилиты. Здесь обращение к файлам, их изменение и запись, обращение к базам данных.
  • Views.
  1. Шаблоны, т.е. обычный html-файл с вкраплением php-кода, в котором осуществляется вывод информации.



Добавить комментарий

Ваш e-mail не будет опубликован.