Zend_Config_Ini
permite aos desenvolvedores armazenar os dados de
configuração em um formato INI conhecido e lê-los no aplicativo através
de uma sintaxe de propriedade de objeto aninhado. O formato INI é
especializado em proporcionar tanto a capacidade de ter uma hierarquia de chaves de dados
de configuração quanto de herança entre as seções de dados de configuração. Hierarquias de
dados de configuração são suportadas através da separação das chaves com o ponto ou
caractere de período ("."). Uma seção pode estender ou herdar de outra
seção, seguindo o nome da seção, com um caractere dois pontos (":") e
o nome da seção a partir do qual os dados devem ser herdados.
Analisando o Arquivo INI
Zend_Config_Ini
utiliza a função parse_ini_file()
do PHP. Por favor reveja esta documentação para estar ciente de seus
comportamentos característicos, que conduzem o Zend_Config_Ini
,
tais como os valores especiais "TRUE
",
"FALSE
", "sim", "não", e "NULL
"
são manipulados.
Separador de Chave
Por padrão, o caractere separador de chave é o caractere de período
("."). Isso pode ser alterado, de qualquer modo, alterando a chave
nestSeparator de $options
na construção do
objeto Zend_Config_Ini
. Por exemplo:
$options['nestSeparator'] = ':'; $config = new Zend_Config_Ini('/path/to/config.ini', 'staging', $options);
Exemplo 120. Usando o Zend_Config_Ini
Este exemplo ilustra uma utilização básica de Zend_Config_Ini
para carregar dados de configuração de um arquivo INI. Neste
exemplo, existem dados de configuração, tanto para um sistema de produção como para um
sistema de testes. Pois os dados de configuração de um sistema de testes são muito
semelhantes aos de produção, a seção de testes herda da seção de produção. Neste caso,
a decisão é arbitrária e poderia ter sido escrita de modo inverso, com a seção de
produção herdando da seção de testes, embora isso possa não ser o caso em situações
mais complexas. Suponha-se, então, que os dados de configuração a seguir estão
contidos em /path/to/config.ini
:
; Dados de configuração da seção de produção [production] webhost = www.example.com database.adapter = pdo_mysql database.params.host = db.example.com database.params.username = dbuser database.params.password = secret database.params.dbname = dbname ; Os dados de configuração da seção de testes são herdados ; da produção e substitui os valores conforme necessário [staging : production] database.params.host = dev.example.com database.params.username = devuser database.params.password = devsecret
Em seguida, suponha que o desenvolvedor do aplicativo necessite dos dados de configuração de testes do arquivo INI. É o simples caso de carregar esses dados especificando o arquivo INI e a seção de testes:
$config = new Zend_Config_Ini('/path/to/config.ini', 'staging'); echo $config->database->params->host; // imprime "dev.example.com" echo $config->database->params->dbname; // imprime "dbname"
Nota
Tabela 41. Parâmetros do Construtor Zend_Config_Ini
Parâmetro | Notas |
---|---|
$filename |
O arquivo INI a ser carregado. |
$section |
A [seção] no arquivo INI que está sendo carregado.
Definir este parâmetro como NULL irá carregar todas
as seções. Alternativamente, uma matriz de nomes de seção pode ser
fornecida para carregar várias seções.
|
$options (padrão FALSE )
|
Matriz de opções. As seguintes chaves são suportadas:
|