Я хочу создать CMS на основе Zend Framework для своих нужд, в котором есть модуль admin с аутентификацией и другие модули ( страницы, пользователи, новости ), которые можно использовать как плагинмодули, основанные на потребностях приложения.
Я хочу, чтобы у каждого модуля был определенный код внешнего и внутреннего кода, чтобы к нему можно было обращаться, например, http://localhost/mycms/pages/view/5 для просмотра определенной страницы со страниц . модуль, вызывая Pages controller, view action.Бэкэнд для каждого плагина должен быть привязан к администратору и требовать аутентификации, к нему можно получить доступ как http://localhost/mycms/admin/pages/add.
Проблема в том, что решение, которое я нашел, включает в себя удаление маршрутов по умолчанию и запись настраиваемой маршрутизации для каждого действия контроллеравнутри модулей плагинов, таких как:
$router->removeDefaultRoutes();
$route = new Zend_Controller_Router_Route_Static(
'admin/pages/add',
array(
'module' => 'pages',
'controller' => 'Pages',
'action' => 'add'
)
);
$router->addRoute('pages_pages_add', $route);
$route = new Zend_Controller_Router_Route_Regex(
'pages/view/(\d+)',
array(
'module' => 'pages',
'controller' => 'Pages',
'action' => 'view'
),
array(
'1' => 'page_id'
)
);
$router->addRoute('pages_pages_view', $route);
Есть ли у вас какие-либо идеи, как я могу избежать этой пользовательской маршрутизации?