Що таке MVC і які переваги він надає?
Привіт, в цій статті я розкажу про шаблон проектування Model-View-Controller.
Існує проблема зв`язки HTML і PHP і саме MVC допомагає її вирішити.
В основі лежать:
- Model - набір низькорівневих функцій, наприклад для роботи з БД, сесіями, авторизації, і т.д.
- View - файли зовнішнього вигляду. По суті це набір HTML файлів.
- 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.
Тільки авторизовані користувачі можуть додавати коментарі.