|
|
@@ -0,0 +1,103 @@
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
+<!-- EN-Revision: 15978 -->
|
|
|
+<!-- 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:
|
|
|
+-->
|