Como resgatar valores do application.ini no Zend FrameWork

Enviada por Bruno Fernandes 
Bruno Fernandes
Como resgatar valores do application.ini no Zend FrameWork
25 de April de 2012 às 09:26AM
Tenho o seguinte application.ini

resources.db.adapter = "Pdo_Mysql"
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = ""
resources.db.params.dbname = "zend"

Na minha index(bootstrap) estou dando um registre para poder acessar esse valor de outras páginas

$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
Zend_Registry::set('application', new Zend_Config($application->getOptions()));


Na pagina que quero utilizar estou chamando assim:
$this->_config = Zend_Registry::get('application')->resources->db;

ao dar o print_r($this->config) aparecem os seguintes dados:
Zend_Config Object ( [_allowModifications:protected] => [_index:protected] => 0 [_count:protected] => 2 [_data:protected] => Array ( [adapter] => Pdo_Mysql [params] => Zend_Config Object ( [_allowModifications:protected] => [_index:protected] => 0 [_count:protected] => 4 [_data:protected] => Array ( [host] => localhost [username] => root [password] => [dbname] => zend ) [_skipNextIteration:protected] => [_loadedSection:protected] => [_extends:protected] => Array ( ) [_loadFileErrorStr:protected] => ) ) [_skipNextIteration:protected] => [_loadedSection:protected] => [_extends:protected] => Array ( ) [_loadFileErrorStr:protected] => ) 1

O problema é que quanto eu tento acessar : $this->_config->host, ou $this->_config->dbname, etc ele me retorna valores em branco.

Como faço para pegar esses valores?
Marcos Regis
Re: Como resgatar valores do application.ini no Zend FrameWork
25 de April de 2012 às 01:34PM
o valor é um dado com visibilidade protected indicando que somente a própria classe ou suas filhas podem vê-la.
Use um método da classe para recuperar o atributo.
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.