#php #zend-framework
#php #zend-framework
Вопрос:
Для моего текущего проекта я хочу динамически загружать маршруты из базы данных. Чтобы это сработало, мне нужно получить эти результаты до того, как будут загружены фактические контроллеры (конечно).
Я хочу добиться этого, добавив результаты в начальную загрузку. Однако все учебные пособия, которые я пробовал по этому вопросу (очень немногие), не работали.
Люди предложили вызвать
$this->bootstrap('db');
Однако этот ресурс, похоже, не существует.
У меня есть ресурс БД в моем application.ini.
Что-нибудь, что могло бы заставить это работать?
Большое спасибо!
Комментарии:
1. вы не должны загружать маршруты из баз данных. Сохраните в ini-файле и загрузите его.
2. Строка, которую вы опубликовали, является правильным способом убедиться, что ресурс БД был загружен. Как вы получаете доступ к ресурсу БД после этого?
3. @emaillenin Я бы сказал, что решение о том, как приложение хранит информацию о динамическом маршруте, зависит от Jan
Ответ №1:
Вы захотите что-то подобное в своем Bootstrap
классе
public function _initDynamicRoutes()
{
// bootstrap FrontController resource
$this->bootstrap('frontController');
// bootstrap DB resource
$this->bootstrap('db');
// get the router from the front controller
$router = $this->getResource('frontController')->getRouter();
// if you need the Zend_Db resource for direct calls...
$db = $this->getResource('db');
// fetch route data, add to $router
}
Комментарии:
1. оказывается, это был не код, который привел к сбою; Я поместил его в загрузчик моего модуля.