| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.config.adapters.ini">
- <title>Zend_Config_Ini</title>
- <para>
- <classname>Zend_Config_Ini</classname> permite aos desenvolvedores armazenar os dados de
- configuração em um formato <acronym>INI</acronym> conhecido e lê-los no aplicativo através
- de uma sintaxe de propriedade de objeto aninhado. O formato <acronym>INI</acronym> é
- 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 ("<emphasis>.</emphasis>"). Uma seção pode estender ou herdar de outra
- seção, seguindo o nome da seção, com um caractere dois pontos ("<emphasis>:</emphasis>") e
- o nome da seção a partir do qual os dados devem ser herdados.
- </para>
- <note>
- <title>Analisando o Arquivo INI</title>
- <para>
- <classname>Zend_Config_Ini</classname> utiliza a função <ulink
- url="http://php.net/parse_ini_file"><methodname>parse_ini_file()</methodname></ulink>
- do <acronym>PHP</acronym>. Por favor reveja esta documentação para estar ciente de seus
- comportamentos característicos, que conduzem o <classname>Zend_Config_Ini</classname>,
- tais como os valores especiais "<constant>TRUE</constant>",
- "<constant>FALSE</constant>", "sim", "não", e "<constant>NULL</constant>"
- são manipulados.
- </para>
- </note>
- <note>
- <title>Separador de Chave</title>
- <para>
- Por padrão, o caractere separador de chave é o caractere de período
- ("<emphasis>.</emphasis>"). Isso pode ser alterado, de qualquer modo, alterando a chave
- <property>nestSeparator</property> de <varname>$options</varname> na construção do
- objeto <classname>Zend_Config_Ini</classname>. Por exemplo:
- </para>
- <programlisting language="php"><![CDATA[
- $options['nestSeparator'] = ':';
- $config = new Zend_Config_Ini('/path/to/config.ini',
- 'staging',
- $options);
- ]]></programlisting>
- </note>
- <example id="zend.config.adapters.ini.example.using">
- <title>Usando o Zend_Config_Ini</title>
- <para>
- Este exemplo ilustra uma utilização básica de <classname>Zend_Config_Ini</classname>
- para carregar dados de configuração de um arquivo <acronym>INI</acronym>. 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 <filename>/path/to/config.ini</filename>:
- </para>
- <programlisting language="ini"><![CDATA[
- ; 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
- ]]></programlisting>
- <para>
- Em seguida, suponha que o desenvolvedor do aplicativo necessite dos dados de
- configuração de testes do arquivo <acronym>INI</acronym>. É o simples caso de carregar
- esses dados especificando o arquivo <acronym>INI</acronym> e a seção de testes:
- </para>
- <programlisting language="php"><![CDATA[
- $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"
- ]]></programlisting>
- </example>
- <note>
- <table id="zend.config.adapters.ini.table">
- <title>Parâmetros do Construtor Zend_Config_Ini</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Parâmetro</entry>
- <entry>Notas</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><varname>$filename</varname></entry>
- <entry>O arquivo <acronym>INI</acronym> a ser carregado.</entry>
- </row>
- <row>
- <entry><varname>$section</varname></entry>
- <entry>A [seção] no arquivo <acronym>INI</acronym> que está sendo carregado.
- Definir este parâmetro como <constant>NULL</constant> irá carregar todas
- as seções. Alternativamente, uma matriz de nomes de seção pode ser
- fornecida para carregar várias seções.
- </entry>
- </row>
- <row>
- <entry>
- <varname>$options</varname> (padrão <constant>FALSE</constant>)
- </entry>
- <entry>
- Matriz de opções. As seguintes chaves são suportadas:
- <itemizedlist>
- <listitem>
- <para>
- <emphasis><property>allowModifications</property></emphasis>:
- Defina como <constant>TRUE</constant> para permitir a
- alteração subsequente dos dados de configuração carregados
- na memória. O padrão é <constant>NULL</constant>
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis><property>nestSeparator</property></emphasis>:
- Define o caractere a ser usado como separador de
- aninhamento. O padrão é "."
- </para>
- </listitem>
- </itemizedlist>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </note>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|