Получение ссылки на объект конфигурации Zend_Application - PullRequest
1 голос
/ 18 декабря 2009

Существует ли вспомогательный метод / объект / методология для получения ссылки на ресурс конфигурации Zend_Application?

Я знаю, что могу сделать что-то вроде

$config = new Zend_Config_Ini($file, $environment);

но это собирается перезагрузить / разобрать файл конфигурации. Я ищу способ посмотреть на заданное значение конфигурации для работающего Zend_Application.

Проблема, которую я пытаюсь решить, состоит в том, что я хочу, чтобы Zend_Queue использовал те же настройки базы данных, что и ресурс базы данных по умолчанию. Если есть более «Zend Like» способ достижения этого, кроме «получить ссылку на конфигурацию, прочитать значения ресурса», пожалуйста, не стесняйтесь поделиться этим!

Ответы [ 2 ]

3 голосов
/ 18 декабря 2009
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
    public function run()
    {
        // make the config available to everyone
        $config = $this->getOptions();
        Zend_Registry::set('config', new Zend_Config($config));
        parent::run();
    }
}

Zend_Queue

есть код в Zend_Queue_Adapter_Db __construct if (isset($this->_options['dbAdapter'])), поэтому вы можете сделать что-то подобное

new Zend_Queue_Adapter_Db(array('dbAdapter' => Zend_Db_Table::getDefaultAdapter()));

потому что стандарт Zend_Application_Resource_Db может использовать опцию конфигурации resources.db.isDefaultTableAdapter = true

или вы можете поместить адаптер db в реестр и получить его оттуда в любом месте

1 голос
/ 16 июля 2010
Zend_Controller_Front::getInstance()->getParam('bootstrap')->getOptions()
...