| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.config.introduction">
- <title>Introdução</title>
- <para>
- <classname>Zend_Config</classname> é projetado para simplificar o acesso e a utilização
- dos dados de configuração dentro das aplicações. Ele fornece uma propriedade do objeto
- aninhado baseado na interface de usuário para acessar dados de configuração no código do
- aplicativo. Os dados de configuração podem vir de uma variedade de meios de suporte para
- armazenamento de dados hierárquico. Atualmente <classname>Zend_Config</classname> fornece
- adaptadores para dados de configuração que são armazenados em arquivos de texto com
- <link linkend="zend.config.adapters.ini"><classname>Zend_Config_Ini</classname></link> e
- <link linkend="zend.config.adapters.xml"><classname>Zend_Config_Xml</classname></link>.
- </para>
- <example id="zend.config.introduction.example.using">
- <title>Usando o Zend_Config</title>
- <para>
- Normalmente, espera-se que os usuários usem uma das classes adaptadoras como <link
- linkend="zend.config.adapters.ini"><classname>Zend_Config_Ini</classname></link> ou
- <link linkend="zend.config.adapters.xml"><classname>Zend_Config_Xml</classname></link>,
- mas se os dados de configuração estão disponíveis em uma matriz <acronym>PHP</acronym>,
- pode-se simplesmente passar os dados para o construtor
- <classname>Zend_Config</classname> a fim de utilizar uma simples interface
- orientada a objetos:
- </para>
- <programlisting language="php"><![CDATA[
- // Dada uma matriz de dados de configuração
- $configArray = array(
- 'webhost' => 'www.example.com',
- 'database' => array(
- 'adapter' => 'pdo_mysql',
- 'params' => array(
- 'host' => 'db.example.com',
- 'username' => 'dbuser',
- 'password' => 'secret',
- 'dbname' => 'mydatabase'
- )
- )
- );
- // Create the object-oriented wrapper upon the configuration data
- $config = new Zend_Config($configArray);
- // Imprimir um dado de configuração (resulta em 'www.example.com')
- echo $config->webhost;
- // Utiliza os dados de configuração para se conectar ao banco de dados
- $db = Zend_Db::factory($config->database->adapter,
- $config->database->params->toArray());
- // Uso alternativo: simplesmente passar o objeto Zend_Config.
- // A fábrica do Zend_Db sabe como interpretá-lo.
- $db = Zend_Db::factory($config->database);
- ]]></programlisting>
- </example>
- <para>
- Como ilustrado no exemplo acima, <classname>Zend_Config</classname> fornece a sintaxe da
- propriedade do objeto aninhado para acessar os dados de configuração passados para o
- construtor.
- </para>
- <para>
- Junto com o acesso orientado a objeto aos valores dos dados,
- <classname>Zend_Config</classname> também tem o <methodname>get()</methodname>, que
- retornará o valor padrão fornecido se o elemento do dado não existir. Por exemplo:
- </para>
- <programlisting language="php"><![CDATA[
- $host = $config->database->get('host', 'localhost');
- ]]></programlisting>
- <example id="zend.config.introduction.example.file.php">
- <title>Usando o Zend_Config com um Arquivo de Configuração em PHP</title>
- <para>
- Muitas vezes é desejável utilizar um arquivo de configuração puramente em
- <acronym>PHP</acronym>. O código a seguir ilustra como isto pode ser
- realizado facilmente:
- </para>
- <programlisting language="php"><![CDATA[
- // config.php
- return array(
- 'webhost' => 'www.example.com',
- 'database' => array(
- 'adapter' => 'pdo_mysql',
- 'params' => array(
- 'host' => 'db.example.com',
- 'username' => 'dbuser',
- 'password' => 'secret',
- 'dbname' => 'mydatabase'
- )
- )
- );
- ]]></programlisting>
- <programlisting language="php"><![CDATA[
- // Consumo de configuração
- $config = new Zend_Config(require 'config.php');
- // Imprimir um dado de configuração (resulta em 'www.example.com')
- echo $config->webhost;
- ]]></programlisting>
- </example>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|