Zend Framework — загрузка подключения к базе данных

#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. оказывается, это был не код, который привел к сбою; Я поместил его в загрузчик моего модуля.