Browse Source

[MANUAL] Brazilian Portuguese:

- add new translation


git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@19797 44c647ce-9c0f-0410-b52a-842ac1e357ba
mauriciofauth 16 years ago
parent
commit
8f07f0d1a9

+ 1 - 1
documentation/manual/pt-br/manual.xml.in

@@ -268,7 +268,7 @@
                 </xi:fallback>
             </xi:include>
         </chapter>
-        
+
         <chapter id="learning.paginator">
             <title>Iniciando com o Zend_Paginator</title>
             <xi:include href="tutorials/paginator-intro.xml">

+ 105 - 0
documentation/manual/pt-br/module_specs/Zend_Config-TheoryOfOperation.xml

@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 16674 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.config.theory_of_operation">
+    <title>Teoria de Operação</title>
+
+    <para>
+        Dados de configuração são disponibilizados para o construtor
+        <classname>Zend_Config</classname> através de uma matriz associativa, que pode ser
+        multi-dimensional, a fim organizar os dados do geral ao específico. Classes adaptadoras
+        específicas adaptam os dados de configuração armazenados para produzir uma matriz
+        associativa para o construtor <classname>Zend_Config</classname>. Scripts do usuário
+        poderão fornecer matrizes diretamente para o construtor <classname>Zend_Config</classname>,
+        sem usar uma classe adaptadora, visto que pode ser conveniente em determinadas situações.
+    </para>
+
+    <para>
+        Cada dado de configuração de cada valor da matriz torna-se uma propriedade do objeto
+        <classname>Zend_Config</classname>. A chave é usada como o nome da propriedade. Se um valor
+        é também uma matriz, então a propriedade do objeto resultante é criada como um novo objeto
+        <classname>Zend_Config</classname>, carregado com os dados da matriz. Isso ocorre
+        recursivamente, tal como uma hierarquia de dados de configuração podendo ser criados com
+        qualquer número de níveis.
+    </para>
+
+    <para>
+        <classname>Zend_Config</classname> implementa as interfaces <emphasis>Countable</emphasis>
+        e <emphasis>Iterator</emphasis>, a fim de facilitar o acesso simplificado aos dados de
+        configuração. Assim, pode-se usar a função
+        <ulink url="http://php.net/count"><methodname>count()</methodname></ulink>
+        e construtores do <acronym>PHP</acronym> como
+        <ulink url="http://php.net/foreach"><emphasis>foreach</emphasis></ulink>
+        com os objetos <classname>Zend_Config</classname>.
+    </para>
+
+    <para>
+        Por padrão, os dados de configuração disponibilizados através de
+        <classname>Zend_Config</classname> são somente leitura, e uma atribuição (por exemplo,
+        <command>$config->database->host = 'example.com';</command>) resulta em uma exceção. Esse
+        comportamento padrão pode ser anulado através do construtor, no entanto, permitindo apenas
+        a modificação dos valores dos dados. Além disso, quando as modificações são permitidas,
+        <classname>Zend_Config</classname> suporta a desativação dos valores (ou seja,
+        <methodname>unset($config->database->host)</methodname>). O método
+        <methodname>readOnly()</methodname> pode ser usado para determinar se as modificações para
+        um determinado objeto <classname>Zend_Config</classname> são permitidas e o método
+        <methodname>setReadOnly()</methodname> pode ser usado para interromper quaisquer alterações
+        posteriores a um objeto <classname>Zend_Config</classname> que foi criado
+        permitindo modificações.
+    </para>
+
+    <note>
+        <para>
+            É importante não confundir alterações em memória com dados de configuração salvos em
+            mídia específica de armazenamento. Ferramentas para criar e modificar dados de
+            configuração em diversas mídia de armazenamento estão fora do escopo em relação ao
+            <classname>Zend_Config</classname>. Soluções de código aberto de terceiros estão
+            prontamente disponíveis para esta finalidade.
+        </para>
+    </note>
+
+    <para>
+        Classes adaptadoras herdam da classe <classname>Zend_Config</classname> visto que utilizam
+        a sua funcionalidade.
+    </para>
+
+    <para>
+        A família de classes <classname>Zend_Config</classname> permite que os dados de
+        configuração sejam organizados em seções. Os objetos adaptadores
+        <classname>Zend_Config</classname> podem ser carregados com uma única seção especificada,
+        várias seções especificadas, ou todas as seções (se nenhum for especificado).
+    </para>
+
+    <para>
+        Classes adaptadoras <classname>Zend_Config</classname> suportam um modelo de herança única
+        que permite que dados de configuração sejam herdados de uma seção de dados de configuração
+        para outra. Isso é oferecido de forma a reduzir ou eliminar a necessidade de duplicação dos
+        dados de configuração para diferentes fins. Uma seção herdada também pode substituir os
+        valores que ela herda através de sua seção pai. Como a herança de classe no
+        <acronym>PHP</acronym>, uma seção pode herdar de uma seção pai, que pode herdar de uma
+        seção avó, e assim por diante, mas a herança múltipla (ou seja, seção C herdando
+        diretamente das seções pais A e B) não é suportada.
+    </para>
+
+    <para>
+        Se você tem dois objetos <classname>Zend_Config</classname>, você pode juntá-los em um
+        único objeto usando a função <methodname>merge()</methodname>. Por exemplo, dados
+        <varname>$config</varname> e <varname>$localConfig</varname>, você poderá unificar os
+        dados de <varname>$localConfig</varname> para <varname>$config</varname> usando
+        <command>$config->merge($localConfig);</command>. Os itens em
+        <varname>$localConfig</varname> serão substituídos por quaisquer itens
+        com mesmo nome em <varname>$config</varname>.
+    </para>
+
+    <note>
+        <para>
+            O objeto <classname>Zend_Config</classname> que está executando a fusão deve ter sido
+            construído permitindo modificações, passando <constant>TRUE</constant> como o segundo
+            parâmetro do construtor. O método <methodname>setReadOnly()</methodname> pode então ser
+            usado para impedir quaisquer alterações posteriores, após a fusão estiver completa.
+        </para>
+    </note>
+</sect1>
+<!--
+vim:se ts=4 sw=4 et:
+-->