Intereting Posts

ZF2 Запуск сервисного менеджера

У меня есть адаптер базы данных, который хранится в моем сервис-менеджере под названием «dbAdapter». Я ищу способ отключиться, а затем снова подключиться к этому адаптеру, используя немного другую конфигурацию, возможно, несколько раз.

Причина в том, что у меня много клиентов, структура базы данных которых на 100% одинакова. Я пишу cron-задание, которое будет выполнять maintance в каждой базе данных, но оно должно подключиться к первому, сделать все, удалить соединение и подключиться к следующему … пока он не будет из баз данных.

Я просматривал источник, но я мог найти только один защищенный метод в Zend \ ServiceManager \ ServiceManager.php, называемый unregisterService, который выглядит так, как будто он будет делать то, что я хочу, но это защищенный метод, и поэтому я не могу назвать его из моего контроллер.

Возможно ли «истечь» ключ сервис-менеджера и заставить его воссоздать его при следующем вызове?

Вы можете установить $allowOverride в true в ServiceManager а затем зарегистрировать null значение под именем dbAdapter .

 $serviceManager->setAllowOverride(true) ->setService('dbAdapter', null) ->setAllowOverride(false);