Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия | |||
— | mvc [2025/07/06 12:39] (текущий) – внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Шаблон проектирования MVC ====== | ||
+ | ~~Title: MVC (Model-View-Controller) ~~ | ||
+ | {{htmlmetatags> | ||
+ | metatag-description=(Шаблон проектирования Model View Controller (MVC)) | ||
+ | }} | ||
+ | |||
+ | Шаблон проектирования **MVC** (Model-View-Controller), | ||
+ | |||
+ | * **Model (Модель)** - уровень абстракции, | ||
+ | * **View (Вид/ | ||
+ | * **Controller (Контроллер/ | ||
+ | |||
+ | Запрос пользователя (URL)==> | ||
+ | <note warning> | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | * **Представление**. Модуль вывода информации. Это может быть шаблонизатор или что-либо подобное, | ||
+ | * **Контроллер**. Модуль управления вводом и выводом данных. Данный модуль должен следить за переданными в систему данными (через форму, строку запроса, | ||
+ | * Передавать ли их в модель | ||
+ | * Вывести сообщение об ошибке и запросить повторный ввод (заставить модуль представление обновить страницу с учётом изменившихся условий) | ||
+ | Кроме того, контроллер обязан определять тип данных, | ||
+ | * **Модель**. Модуль, | ||
+ | |||
+ | ===== Собственный PHP framework ===== | ||
+ | |||
+ | Создание собственного framework используя шаблон MVC по пунктам: | ||
+ | * **Действия который происходят при каждом запросе пользователя**. | ||
+ | - Создание единой точки входа для всех запросов т.е. все запросы должны обрабатываться например через index.php. Обычно делается при помощи файла .htaccess и mod_rewrite. | ||
+ | - Создаем класс или функцию для автозагрузки наших классов. | ||
+ | - Создаем класс для хранения глобальных настроек используя шаблон Registry. | ||
+ | - Создаем class Router (шаблон Singlton): который содержит массив возможных страниц нашего сайта. Создаем метод getRoute который разбивает запрос пользователя ($_SERVER[' | ||
+ | - Создаем класс View. Метод Render | ||
+ | * **Начинается ветвление программы**, | ||
+ | - Реализация FrontController шаблон | ||
+ | |||
+ | |||
+ | Обработка запроса пользователя (действия одинаковые для всех запросов): | ||
+ | - [[Apache]] | ||
+ | - .[[htaccess]] | ||
+ | - index.php | ||
+ | - bootstrap.php - инициализация фреймверка | ||
+ | - routes.php | ||
+ | Начинается ветвление программы | ||
+ | - FrontController.php | ||
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга