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

21 Авг 2019 в 07:07
207 +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
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир