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