Підхід mvc (model-view-controller)

Відео: What is programming MVC? [Detailed Explanation]

Підхід MVC (Model-View-Controller)

У попередній статті ми з Вами обговорювали проблему зв`язки PHP і HTML. Я в кінці тієї статті сказав, що є деякі рішення, які трохи виправляють ситуацію, однак, вони не без недоліків. Так ось найпопулярніший з них - це підхід MVC (Model-View-Controller). І, насправді, цей підхід є основою для всіх інших. фактично, MVC цінний не своєю "красою рішення", А прекрасної концепцією, до якої треба прагнути.

В основі MVC лежать 3 елемента: Модель, шаблон і контролер. Давайте розберемо кожен з них:

  • Шаблон (View) - це весь зовнішній вигляд сторінок. Фактично, це набір HTML-файлів, кожен з яких відповідає за окрему сторінку. за шаблон відповідає дизайнер.
  • Модель (Model) - це набір низькорівневих функцій. Наприклад, по роботі з базою даних, по аутентифікації користувачів, по відправці e-mail повідомлень і так далі. Іншими словами, це службові функції, реалізація яких, власне кажучи, прихована. За цю частину, безумовно, відповідає програміст.
  • Контролер (Controller) - це сполучна ланка між Шаблоном і Моделлю. Сюди приходять дані з шаблону (Наприклад, при відправці форм), сюди ж приходить відповідь від моделі, і саме контролер вирішує, який шаблон вибрати. за контролер відповідає також програміст.



На перший погляд здається, що це ідеальна ситуація, так як ми, начебто, домоглися поділу роботи програміста і дизайнера. Та й дизайн змінити легко, досить буде просто поміняти шаблон, Ніяк не залазячи в програмну частину. Але, на жаль, це далеко не так.

Відео: MVC в програмуванні. Компонентний підхід. PHP і верстка

Припустимо, нам треба вивести коментарі на сторінку. Ось як це може виглядати:

lt ;?php
require_once
"Model.php"-// Підключаємо Модель
$ comments
= getComments() -// Якась функція в Моделі, повертаючись двовимірний масив з коментарями
include
"Index.html"-// Висновок шаблону
?gt;



Ось шматок коду з index.html, де виводяться коментарі:

Відео: MVC - Суть шаблону на прикладах

lt ;?php
for($ i =0- $ i lt; count($ comments) - $ i++){
echo
"
  • "
  • .$ comments[$ i] ["Name"].":".$ comments[$ i] ["Text"].""-
    ?gt;

    Інша частина - це звичайний HTML-код. Як бачите, ми намагалися уникнути PHP-коду в шаблон, але у нас це не вийшло. Найпростіший цикл завів нас у глухий кут. Теж саме буде, якщо буде потрібно яке-небудь умова, і знову без PHP не обійтись. Інший мінус, не менше серйозний, полягає в тому, що саме Контролер вирішує, які блоки і виводити на сторінці. Хоча, що виводити, є завданням дизайнера, а не програміста.

    Відео: Build a PHP MVC Application

    Висновок з цього невтішний - чистий MVC на практиці застосовувати недоцільно, але оскільки сама концепція відмінна, то в подальшому ми з Вами буде розвивати підхід MVC.

    Поділися в соціальних мережах:

    Схожі
    Створення движка на mvc. Робимо можливість редагування і видалення користувачів.Створення движка на mvc. Робимо можливість редагування і видалення користувачів.
    Створення движка на mvc. Допрацьовуємо роутер.Створення движка на mvc. Допрацьовуємо роутер.
    Створення движка на mvc. Виводимо сторінки. Частина 4.Створення движка на mvc. Виводимо сторінки. Частина 4.
    Створення движка на mvc. Вступ.Створення движка на mvc. Вступ.
    Створення движка на mvc. Починаємо роботу з базою даних.Створення движка на mvc. Починаємо роботу з базою даних.
    Мтчелл м. - програмування для linux. Професійний підхідМтчелл м. - програмування для linux. Професійний підхід
    Як створити движок для сайтуЯк створити движок для сайту
    Тип меню: шаблон блогу матеріалів на головнійТип меню: шаблон блогу матеріалів на головній
    Компонентний (блоковий) підхідКомпонентний (блоковий) підхід
    Тип меню: шаблон списку категоріїТип меню: шаблон списку категорії
    » » Підхід mvc (model-view-controller)