Web-Programming.in.ua

Що таке MVC і які переваги він надає?

Привіт, в цій статті я розкажу про шаблон проектування Model-View-Controller.

Існує проблема зв`язки HTML і PHP і саме MVC допомагає її вирішити.

В основі лежать:

  1. Model - набір низькорівневих функцій, наприклад для роботи з БД, сесіями, авторизації, і т.д.
  2. View - файли зовнішнього вигляду. По суті це набір HTML файлів.
  3. Controller - це сполучна ланка між моделями і видами. Він приймає запит, обробляє його і віддає користувачу згенеровану сторінку.

Задавалося б усе чудово, але на прикладі не усе так гладко:

articles.php - контроллер, який виводить усі статті:

<?php
    require_once 'models/all_articles.php'; // підключаємо модель
    $articles = getAllArticles(); // викликаємо функцію, яка верне масив із статтями
    include 'views/all_articles.html'; // підключаємо шаблон
?>

views/all_articles.html - HTML шаблон з статтями:

<?php
    foreach($articles as $article) {
        echo "<div class='article'><h2>".$article['title']."</h2>".$article['text']."</div>";
    }
?>

Як бачите ідея чудова, але не ідеальна. І в наступних уроках ми будемо удосконалювати MVC, а саме писати свій framework на MVC.

Тільки авторизовані користувачі можуть додавати коментарі.

Нагору