Какое правильное устройство CMS c архитектурой MVC на php? Добрый день. Пишу себе небольшую CMS и смотрю в сторону MVC. Столкнулся с вопросом в подключении контроллеров и плагинов. Хочу сделать так: брать из адреса имя нужного класса, имя метода и параметры. Адрес будет примерно такой: сайт.ру/news/searchnews/15. Таким образом запустится класс news и метод searchnews c параметром 15. А плагины хочу запускать свои для каждого контроллера. Но как это лучше сделать? Также на классах или без них? Ведь нередко на странице нужно запускать несколько плагинов. Сам в MVC и ООП разбираюсь пока плоховато, поэтому прошу помощи и критики в мой метод запуска контроллеров.

21 Авг 2019 в 07:07
189 +1
0
Ответы
1

Для реализации устройства CMS с архитектурой MVC на PHP вы можете использовать различные фреймворки, такие как Laravel, Symfony, CodeIgniter и т. д. Они предоставляют удобные инструменты для работы с MVC и позволяют легко организовать контроллеры, модели и представления.

Что касается подключения контроллеров и плагинов, в вашем случае можно использовать роутинг для определения адресов страниц и их соответствующих контроллеров и методов. Для запуска плагинов для каждого контроллера вы можете создать базовый класс контроллера, который будет отвечать за загрузку и выполнение плагинов, а затем унаследовать остальные контроллеры от него.

Например, вы можете создать базовый контроллер, в котором будет метод для загрузки и выполнения плагинов:

class BaseController {
public function loadPlugins($controllerName) {
// Загружаем плагины для данного контроллера
}
}

Затем ваш контроллер новостей может выглядеть примерно так:

class NewsController extends BaseController {
public function searchNews($param) {
// Здесь выполнение поиска новостей
}
}

При такой организации, при обращении к адресу сайт.ru/news/searchnews/15 сначала будет инициализироваться контроллер News и его метод searchNews, а затем будут загружены и выполнены плагины для данного контроллера.

Надеюсь, эта информация поможет вам в дальнейшей разработке вашей CMS. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать. Удачи!

20 Апр 2024 в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 95 839 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир