Explorar o código

[DOCUMENTATION] Brazilian Portuguese: Update Zend_Controller-QuickStart

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@19409 44c647ce-9c0f-0410-b52a-842ac1e357ba
mauriciofauth %!s(int64=16) %!d(string=hai) anos
pai
achega
bf1c6e8668
Modificáronse 1 ficheiros con 184 adicións e 145 borrados
  1. 184 145
      documentation/manual/pt-br/module_specs/Zend_Controller-QuickStart.xml

+ 184 - 145
documentation/manual/pt-br/module_specs/Zend_Controller-QuickStart.xml

@@ -1,27 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 16705 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.controller.quickstart">
-    <title>Zend_Controller Início Rápido</title>
+    <title>Guia de Início Rápido do Zend_Controller</title>
 
     <sect2 id="zend.controller.quickstart.introduction">
         <title>Introdução</title>
         <para>
-            <code>Zend_Controller</code> é o coração do sistema MVC do Zend Framework.
-            MVC significa <ulink
-                url="http://en.wikipedia.org/wiki/Model-view-controller">Model-View-Controller</ulink>
-            é um modelo de desenvolvimento voltado para a separação da lógica de aplicação da
-            lógica de visualização. <code>Zend_Controller_Front</code> implementa um padrão de
-            <ulink
-                url="http://www.martinfowler.com/eaaCatalog/frontController.html">Front
-                Controller</ulink>, no qual todos os pedidos são
-            interceptado pelo controlador e despachados individualmente
-            para ações baseadas no URL requerido.
+            <classname>Zend_Controller</classname> é o coração do sistema <acronym>MVC</acronym>
+            do Zend Framework. <acronym>MVC</acronym> significa <ulink
+            url="http://en.wikipedia.org/wiki/Model-view-controller">Model-View-Controller</ulink>
+            e é um padrão de projeto voltado para a separação da lógica de aplicação da lógica
+            de visualização. <classname>Zend_Controller_Front</classname> implementa o padrão
+            <ulink url="http://www.martinfowler.com/eaaCatalog/frontController.html">Front
+            Controller</ulink>, no qual todos os pedidos são interceptados pelo controlador
+            frontal e despachados individualmente para ações baseadas no
+            <acronym>URL</acronym> requerido.
         </para>
         <para>
-            O sistema <code>Zend_Controller</code> foi construído com a extensibilidade
-            em mente, tanto por derivação das classes existentes, como escrevendo
-            novas classes que implementam as várias interfaces e classes abstratas
-            que formam a fundação da família classes controladoras, ou escrevendo
-            plugins ou ações auxiliadoras para aumentar ou manipular a funcionalidade
-            do sistema.
+            O sistema <classname>Zend_Controller</classname> foi construído com a extensibilidade
+            em mente, tanto por derivação das classes existentes, como escrevendo novas classes
+            que implementam as várias interfaces e classes abstratas que formam a fundação da
+            família de classes controladoras, ou escrevendo plugins ou auxiliadores de ação para
+            aumentar ou manipular a funcionalidade do sistema. 
         </para>
     </sect2>
 
@@ -29,19 +30,19 @@
         <title>Início Rápido</title>
 
         <para>
-            Se você necessita informações mais detalhadas, veja as seções seguintes.
-            Se você quiser começar rápido, continue lendo.
+            Se você necessita de informações mais detalhadas, veja as seções seguintes.
+            Se você quiser apenas começar rápido, continue lendo.
         </para>
 
         <sect3 id="zend.controller.quickstart.go.directory">
-            <title>Crie sua estrutura de arquivos</title>
+            <title>Criando a Estrutura de Arquivos</title>
 
             <para>
-                O primeiro passo é criar sua estrutura de arquivos. A estrutura
-                típica é a seguinte:
+                O primeiro passo é criar sua estrutura de arquivos.
+                A estrutura típica é a seguinte:
             </para>
 
-            <programlisting role="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 application/
     controllers/
         IndexController.php
@@ -60,118 +61,156 @@ html/
         </sect3>
 
         <sect3 id="zend.controller.quickstart.go.docroot">
-            <title>Estabeleça seu documento raiz</title>
+            <title>Estabelecendo seu Documento Raiz</title>
 
             <para>
-                No seu servidor web, defina seu documento raiz para
-                o diretório <code>html</code> da estrutura de arquivos
-                acima mencionada.
+                No seu servidor web, defina seu documento raiz para o diretório
+                <filename>html/</filename> da estrutura de arquivos acima mencionada.
             </para>
         </sect3>
 
         <sect3 id="zend.controller.quickstart.go.rewrite">
-            <title>Crie suas regras de re-escrita</title>
+            <title>Criando as Regras de Reescrita</title>
 
             <para>
-                Edite o arquivo <code>html/.htaccess</code> acima
-                para ficar como:
+                Edite o arquivo <filename>html/.htaccess</filename> acima para ficar como:
             </para>
 
-            <programlisting role="php"><![CDATA[
-RewriteEngine on
-RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
+            <programlisting language="php"><![CDATA[
+RewriteEngine On
+RewriteCond %{REQUEST_FILENAME} -s [OR]
+RewriteCond %{REQUEST_FILENAME} -l [OR]
+RewriteCond %{REQUEST_FILENAME} -d
+RewriteRule ^.*$ - [NC,L]
+RewriteRule ^.*$ index.php [NC,L]
+]]></programlisting>
+
+            <note>
+                <title>Saiba mais sobre o mod_rewrite</title>
+
+                <para>
+                    As regras de reescrita acima permitem o acesso a qualquer arquivo no documento
+                    raiz de seu host virtual. Se houver arquivos que você não quer expor desta
+                    maneira, você pode ser mais restritivo em suas regras. Vá até o site do Apache
+                    para <ulink
+                        url="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html">aprender mais
+                        sobre o mod_rewrite</ulink>.
+                </para>
+            </note>
+
+            <para>
+                Se estiver usando o <acronym>IIS</acronym> 7.0, utilize o seguinte como sua
+                configuração de reescrita:
+            </para>
+
+            <programlisting language="xml"><![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+     <system.webServer>
+         <rewrite>
+             <rules>
+                 <rule name="Imported Rule 1" stopProcessing="true">
+                     <match url="^.*$" />
+                     <conditions logicalGrouping="MatchAny">
+                         <add input="{REQUEST_FILENAME}"
+                             matchType="IsFile" pattern=""
+                             ignoreCase="false" />
+                         <add input="{REQUEST_FILENAME}"
+                             matchType="IsDirectory"
+                             pattern="" ignoreCase="false" />
+                     </conditions>
+                     <action type="None" />
+                 </rule>
+                 <rule name="Imported Rule 2" stopProcessing="true">
+                     <match url="^.*$" />
+                     <action type="Rewrite" url="index.php" />
+                 </rule>
+             </rules>
+         </rewrite>
+     </system.webServer>
+</configuration>
 ]]></programlisting>
 
             <para>
-                As regas acima irão enviar qualquer solicitação
-                a não-recurso (imagens, folhas de estilo) para
-                o controlador de frente. Se existir outras extensões
-                que você queira excluir do controlador de frente
-                (PDFs, arquivos texto, etc), adicione suas extensões
-                ao comutador, ou crie suas próprias regras de re-escrita.
+                As regras acima irão encaminhar os pedidos de recursos existentes (links
+                simbólicos existentes, arquivos não vazios, ou diretórios não vazios) nesse
+                sentido, e todos os outros pedidos para o controlador frontal.
             </para>
 
             <note>
                 <para>
-                    As regas de re-escrita acima são para o Apache; para exemplos de
-                    regras de re-escrita para outros servidores web, veja a
-                    <link
-                        linkend="zend.controller.router.introduction">documentação do
-                    roteador</link>.
+                    As regras de reescrita acima são para o Apache, para exemplos de regras de
+                    reescrita de outros servidores web, consulte a <link
+                    linkend="zend.controller.router.introduction">documentação do roteador</link>.
                 </para>
             </note>
         </sect3>
 
         <sect3 id="zend.controller.quickstart.go.bootstrap">
-            <title>Crie seu arquivo de inicialização</title>
+            <title>Criando o Arquivo de Inicialização</title>
 
             <para>
-                O arquivo de inicialização é a página onde todas as requisições passam
-                -- <code>html/index.php</code> no caso. Abra o arquivo
-                <code>html/index.php</code> em um editor de sua escolha e adicione
-                o seguinte:
+                O arquivo de inicialização é a página onde passam todas as requisições
+                -- <filename>html/index.php</filename> no caso. Abra o arquivo
+                <filename>html/index.php</filename> em um editor de sua escolha
+                e adicione o seguinte:
             </para>
 
-            <programlisting role="php"><![CDATA[<?php
-require_once 'Zend/Controller/Front.php';
+            <programlisting language="php"><![CDATA[
 Zend_Controller_Front::run('/path/to/app/controllers');
 ]]></programlisting>
 
             <para>
-                Isto irá criar e despachar o controlador de frente, que irá encaminhar
-                as requisições para os controladores de ação.
+                Isto irá instanciar e despachar o controlador frontal, que irá encaminhar as
+                requisições para os controladores de ação.
             </para>
         </sect3>
 
         <sect3 id="zend.controller.quickstart.go.controller">
-            <title>Crie o seu controlador de ação padrão</title>
+            <title>Criando o Controlador de Ação Padrão</title>
 
             <para>
-                Antes de discutir controladores de ação, você deve primeiro
-                entender como as requisições são roterizadas no Zend Framework.
-                Por padrão, o primeiro seguimento de um caminho de um URL
-                aponta para um controlador, o segundo para uma ação.
-                Por exemplo, dado o URL
-                <code>http://framework.zend.com/roadmap/components</code>, o
-                caminho é <code>/roadmap/components</code>, que irá apontar para o
-                controlador <code>roadmap</code> e para a ação
-                <code>components</code>. Se nenhuma ação for informada, a ação
-                <code>index</code> é assumida, e se nenhum controlador for informado,
-                o controlador <code>index</code> é assumido (Seguindo a convenção do
-                Apache que mapeia um <code>DirectoryIndex</code> automaticamente).
+                Antes de discutir sobre os controladores de ação, você deve primeiro entender como
+                as requisições são roteadas no Zend Framework. Por padrão, o primeiro seguimento
+                de um caminho de um <acronym>URL</acronym> aponta para um controlador, o segundo
+                para uma ação. Por exemplo, dado o <acronym>URL</acronym>
+                <filename>http://framework.zend.com/roadmap/components</filename>, o caminho é
+                <filename>/roadmap/components</filename>, que irá apontar para o controlador
+                <emphasis>roadmap</emphasis> e para a ação <emphasis>components</emphasis>. Se
+                nenhuma ação for informada, a ação <emphasis>index</emphasis> é assumida, e se
+                nenhum controlador for informado, o controlador <emphasis>index</emphasis> é
+                assumido (seguindo a convenção do Apache que mapeia um DirectoryIndex
+                automaticamente).
             </para>
 
             <para>
-                O expedidor do <code>Zend_Controller</code> toma o
-                valor do controlador e mapeia-o para uma classe.
-                Por padrão, ele pega o nome do controlador, com a primeira
-                letra em maiúsculo, e acrescenta a palavra
-                <code>Controller</code>. Sendo assim, em nosso exemplo acima,
-                o controlador <code>roadmap</code> é mapeado para a classe
-                <code>RoadmapController</code>.
+                O despachador do <classname>Zend_Controller</classname> toma o valor do
+                controlador e mapeia-o para uma classe. Por padrão, ele pega o nome do
+                controlador, com a primeira letra em maiúsculo, e acrescenta a palavra
+                <emphasis>Controller</emphasis>. Sendo assim, em nosso exemplo acima, o
+                controlador <emphasis>roadmap</emphasis> é mapeado para a classe
+                <classname>RoadmapController</classname>. 
             </para>
 
             <para>
-                Semelhantemente, o valor da ação é mapeado para um método da
-                classe do controlador. Por padrão, o valor é transformado em
-                letras minúsculas, e a palavra <code>Action</code> é acrescentada.
-                Sendo assim, em nosso exemplo acima, a ação <code>components</code>
-                torna-se <code>componentsAction</code>, e o método final chamado
-                é <code>RoadmapController::componentsAction()</code>.
+                Semelhantemente, o valor da ação é mapeado para um método da classe do controlador.
+                Por padrão, o valor é transformado em letras minúsculas, e a palavra
+                <emphasis>Action</emphasis> é acrescentada. Sendo assim, em nosso exemplo acima, a
+                ação <emphasis>components</emphasis> torna-se
+                <methodname>componentsAction()</methodname>, e o método final chamado é
+                <methodname>RoadmapController::componentsAction()</methodname>.
             </para>
 
             <para>
-                Então, seguindo em frente, vamos agora criar um controlador
-                de ação padrão e um método de ação. Como mencionado anteriormente,
-                o controlador padrão e a ação são ambos chamados <code>index</code>.
-                Abra o arquivo <code>application/controllers/IndexController.php</code>,
-                e introduza o seguinte:
+                Então, seguindo em frente, vamos agora criar um controlador de ação padrão e um
+                método de ação. Como mencionado anteriormente, o controlador padrão e a ação são
+                ambos chamados <emphasis>index</emphasis>. Abra o arquivo
+                <filename>application/controllers/IndexController.php</filename>, e introduza
+                o seguinte:
             </para>
 
-            <programlisting role="php"><![CDATA[<?php
+            <programlisting language="php"><![CDATA[
 /** Zend_Controller_Action */
-require_once 'Zend/Controller/Action.php';
-
 class IndexController extends Zend_Controller_Action
 {
     public function indexAction()
@@ -181,72 +220,66 @@ class IndexController extends Zend_Controller_Action
 ]]></programlisting>
 
             <para>
-                O ajudante de ação <link
-                    linkend="zend.controller.actionhelpers.viewrenderer">ViewRenderer</link>
-                 é habilitado por padrão. Isto significa que apenas
-                definindo um método de ação simples e o script de visão correspondente,
-                você terá o seu conteúdo mostrador imediatamente. Por padrão,
-                <code>Zend_View</code> é usado como a camada de Visaulização
-                do MVC. O <code>ViewRenderer</code> faz alguma mágica, e usa
-                o nome do controlador (ex.: <code>index</code>) para determinar
-                qual modelo mostrar. Por padrão, modelos terminam com a
-                extensão <code>.phtml</code>, então isto significa que,
-                no exemplo acima o modelo <code>index/index.phtml</code>
-                será mostrado. Adicionalmente, o <code>ViewRenderer</code>
-                automaticamente assume que o diretório <code>views</code>
-                no mesmo nível que do diretório do controlador será o
-                diretório base de visualização, e que o atual script de
-                visualização estará no subdiretório <code>views/scripts/</code>,
-                Sendo assim, o modelo mostrado é encontrado em
-                <code>application/views/scripts/index/index.phtml</code>.
+                O auxiliar de ação <link
+                    linkend="zend.controller.actionhelpers.viewrenderer">ViewRenderer</link> é
+                habilitado por padrão. Isto significa que apenas definindo um método de ação
+                simples e o script de visão correspondente, você terá o seu conteúdo mostrador
+                imediatamente. Por padrão, <classname>Zend_View</classname> é usado como a camada
+                de Visualização do <acronym>MVC</acronym>. O <emphasis>ViewRenderer</emphasis>
+                faz alguma mágica, e usa o nome do controlador (ex.: <emphasis>index</emphasis>)
+                e o nome da ação atual (ex.: <emphasis>index</emphasis>) para determinar qual
+                modelo mostrar. Por padrão, modelos terminam com a extensão
+                <filename>.phtml</filename>, então isto significa que, no exemplo acima o modelo
+                <filename>index/index.phtml</filename> será mostrado. Adicionalmente, o
+                <emphasis>ViewRenderer</emphasis> automaticamente assume que o diretório
+                <filename>views/</filename>, que está no mesmo nível que do diretório do
+                controlador, será o diretório base de visualização, e que o atual script de
+                visualização estará no subdiretório <filename>views/scripts/</filename>, Sendo
+                assim, o modelo mostrado é encontrado em
+                <filename>application/views/scripts/index/index.phtml</filename>.
             </para>
         </sect3>
 
         <sect3 id="zend.controller.quickstart.go.view">
-            <title>Crie o seu script de visualização</title>
+            <title>Criando o Script de Visualização</title>
 
             <para>
-                Com mensionado <link
-                    linkend="zend.controller.quickstart.go.controller"> na seção
-                    anterior</link>, scripts de visualização são encontrados em
-                <code>application/views/scripts/</code>; O script padrão para
-                o controlador e ação padrão está em
-                <code>application/views/scripts/index/index.phtml</code>.
-                Crie este arquivo e tecle algum HTML:
+                Com mensionado <link linkend="zend.controller.quickstart.go.controller">na seção
+                anterior</link>, scripts de visualização são encontrados em
+                <filename>application/views/scripts/</filename>; O script padrão para o
+                controlador e ação padrão está em
+                <filename>application/views/scripts/index/index.phtml</filename>. Crie este
+                arquivo e escreva nele algum <acronym>HTML</acronym>:
             </para>
 
-            <programlisting role="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 <!DOCTYPE html
 PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html>
 <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-  <title>My first Zend Framework App</title>
+  <title>Meu primeiro aplicativo em Zend Framework</title>
 </head>
 <body>
-    <h1>Hello, World!</h1>
+    <h1>Olá, Mundo!</h1>
 </body>
 </html>
 ]]></programlisting>
         </sect3>
 
         <sect3 id="zend.controller.quickstart.go.errorhandler">
-            <title>Crie seu controlador de erro</title>
+            <title>Criando o Controlador de Erro</title>
 
             <para>
-                Por padrão, <link
-                    linkend="zend.controller.plugins.standard.errorhandler">plugin
-                do manipulador de erro</link> é registrado. Este plugin espera
-                que um controlador para manipular erros exista. Por padrão, ele
-                assume um <code>ErrorController</code> no módulo padrão com um
-                método <code>errorAction</code>:
+                Por padrão, o <link linkend="zend.controller.plugins.standard.errorhandler">plugin
+                do manipulador de erro</link> é registrado. Este plugin espera que um controlador
+                para manipular erros exista. Por padrão, ele assume um
+                <emphasis>ErrorController</emphasis> no módulo padrão com um método
+                <methodname>errorAction()</methodname>:
             </para>
 
-            <programlisting role="php"><![CDATA[<?php
-/** Zend_Controller_Action */
-require_once 'Zend/Controller/Action.php';
-
+            <programlisting language="php"><![CDATA[
 class ErrorController extends Zend_Controller_Action
 {
     public function errorAction()
@@ -256,48 +289,54 @@ class ErrorController extends Zend_Controller_Action
 ]]></programlisting>
 
             <para>
-                Assumindo o layout de diretório discutido, este arquivo estará
-                em <code>application/controllers/ErrorController.php</code>.
-                Você também precisará criar o script de visualização em
-                <code>application/views/scripts/error/error.phtml</code>;
-                o conteúdo do exemplo parecerá com:
+                Assumindo a estrutura de diretório já discutida, este arquivo estará em
+                <filename>application/controllers/ErrorController.php</filename>. Você também
+                precisará criar o script de visualização em
+                <filename>application/views/scripts/error/error.phtml</filename>; o conteúdo
+                do exemplo parecerá com:
             </para>
 
-            <programlisting role="php"><![CDATA[
+            <programlisting language="php"><![CDATA[
 <!DOCTYPE html
 PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html>
 <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-  <title>Error</title>
+  <title>Erro</title>
 </head>
 <body>
-    <h1>An error occurred</h1>
-    <p>An error occurred; please try again later.</p>
+    <h1>Ocorreu um erro</h1>
+    <p>Ocorreu um erro; por favor, tente novamente mais tarde.</p>
 </body>
 </html>
 ]]></programlisting>
         </sect3>
 
         <sect3 id="zend.controller.quickstart.go.finish">
-            <title>Veja o site!</title>
+            <title>Veja o Site!</title>
 
             <para>
-                Com o seu primeiro controlador e visualizador embaixo do seu cinto,
-                você agora pode disparar o seu navegador e navegar para o site.
-                Assumindo que o seu domínio é <code>example.com</code>, qualquer
-                dos seguintes URLs irão mostrar a página que acabamos de criar:
+                Com o seu primeiro controlador e visualizador em suas mãos, você agora pode abrir
+                o seu navegador e navegar até o site. Assumindo que o seu domínio é
+                <filename>example.com</filename>, qualquer dos seguintes <acronym>URL</acronym>s
+                irão mostrar a página que acabamos de criar:
             </para>
 
             <itemizedlist>
-                <listitem><para><code>http://example.com/</code></para></listitem>
-                <listitem><para><code>http://example.com/index</code></para></listitem>
-                <listitem><para><code>http://example.com/index/index</code></para></listitem>
+                <listitem>
+                    <para><filename>http://example.com/</filename></para>
+                </listitem>
+                <listitem>
+                    <para><filename>http://example.com/index</filename></para>
+                </listitem>
+                <listitem>
+                    <para><filename>http://example.com/index/index</filename></para>
+                </listitem>
             </itemizedlist>
 
             <para>
-                Você agora está pronto para iniciar a criação de mais controladores
+                Agora você está pronto para iniciar a criação de mais controladores
                 e metódos de ação. Parabéns!
             </para>
         </sect3>