Моде́ль-вигляд-контро́лер - архітектурний шаблон, який використовується під час проектування та розробки програмного забезпечення.
Цей шаблон поділяє систему на три частини: модель даних, вигляд даних та керування. Застосовується для відокремлення даних (модель) від інтерфейсу користувача (вигляду) так, щоб зміни інтерфейсу користувача мінімально впливали на роботу з даними, а зміни в моделі даних могли здійснюватися без змін інтерфейсу користувача.
Мета шаблону — гнучкий дизайн програмного забезпечення, який повинен полегшувати подальші зміни чи розширення програм, а також надавати можливість повторного використання окремих компонентів програми. Крім того використання цього шаблону у великих системах призводить до певної впорядкованості їх структури і робить їх зрозумілішими завдяки зменшенню складності.
Програмний фреймворк - це готовий до використання комплекс програмних рішень, включаючи дизайн, логіку та базову функціональність системи або підсистеми. Відповідно - програмний фреймворк може містити в собі також допоміжні програми, деякі бібліотеки коду, скрипти та загалом все, що полегшує створення та поєднання різних компонентів великого програмного забезпечення чи швидке створення готового і не обов'язково об'ємного програмного продукту.
CakePHP — це програмний каркас для створення веб-застосунків, написаний на мові PHP і побудований на принципахвідкритого ПЗ. CakePHP реалізує паттерн «Модель-Вид-Контролер» (MVC).
Спочатку створювався як клон популярного Ruby on Rails і багато ідей були запозичені саме звідти.
1. Своя файлова структура
2. Підтримка безлічі плагінів
3. Абстракція даних (PEAR::DB, ADOdb, і власна розробка Cake)
4. Підтримка безлічі СУБД: (PostgreSQL, MySQL, SQLite, Oracle)
Symfony — відкритий PHP-фреймворк, що реалізує концепцію модель-вид-контролер (MVC) та автоматизовує найзагальніші веб-задачі, являє собою широконалаштовну систему пов'язаних класів і призначений для розробки та керування веб-застосунками