|
|
@@ -18,10 +18,10 @@
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- <classname>Zend_Tool_Project</classname> desenvolve e amplia os recursos do
|
|
|
+ <classname>Zend_Tool_Project</classname> desenvolve e amplia os recursos do
|
|
|
<classname>Zend_Tool_Framework</classname> ao de gerenciar um "projeto". Em geral,
|
|
|
um "projeto" é um esforço planejado ou uma iniciativa. No mundo da informática, projetos
|
|
|
- em geral são uma coleção de recursos. Esses recursos podem ser arquivos, diretórios,
|
|
|
+ em geral são uma coleção de recursos. Esses recursos podem ser arquivos, diretórios,
|
|
|
bases de dados, esquemas, imagens, estilos e muito mais.
|
|
|
</para>
|
|
|
</sect2>
|
|
|
@@ -40,15 +40,15 @@
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<emphasis>Interfaces comuns e abstratas</emphasis> que permitem a
|
|
|
- desenvolvedores criar funcionalidades e capacidades que são
|
|
|
+ desenvolvedores criar funcionalidades e capacidades que são
|
|
|
invocadas por clientes da ferramenta.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <emphasis>Funcionalidade base de clientes</emphasis> e uma implementação
|
|
|
- concreta do console que conectam ferramentas externas e interfaces para o
|
|
|
+ <emphasis>Funcionalidade base de clientes</emphasis> e uma implementação
|
|
|
+ concreta do console que conectam ferramentas externas e interfaces para o
|
|
|
Zend_Tool_Framework. O cliente do console pode ser utilizado em ambientes CLI,
|
|
|
como console unix e o console do Windows.
|
|
|
</para>
|
|
|
@@ -58,7 +58,7 @@
|
|
|
<para>
|
|
|
<emphasis>Interfaces de "Provider" e "Manifest"</emphasis> que
|
|
|
podem ser usadas pela ferramenta do sistema. "Providers" representam o
|
|
|
- aspecto functional do framework, e define as ações que os clientes
|
|
|
+ aspecto functional do framework, e define as ações que os clientes
|
|
|
da ferramenta podem chamar. "Manifests" age como registros de metadados
|
|
|
que proveem contexto adicional para os vários providers definidos.
|
|
|
</para>
|
|
|
@@ -67,7 +67,7 @@
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<emphasis>Um sistema de loading introspectivo</emphasis> que irá
|
|
|
- examinar o ambiente a procura de providers e determinar o que é necessário
|
|
|
+ examinar o ambiente a procura de providers e determinar o que é necessário
|
|
|
para chama-los.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
@@ -75,7 +75,7 @@
|
|
|
<listitem>
|
|
|
<para>
|
|
|
<emphasis>Uma conjunto padrão de sistemas de providers</emphasis> que
|
|
|
- permite o sistema relatar o que todos os recursos do sistemas são, bem como
|
|
|
+ permite o sistema relatar o que todos os recursos do sistemas são, bem como
|
|
|
fornecer um feedback útil. Ele também inclui um compreessível "Systema de Ajuda".
|
|
|
</para>
|
|
|
</listitem>
|
|
|
@@ -89,7 +89,7 @@
|
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <classname>Zend_Tool_Framework</classname> - O framework que expõe
|
|
|
+ <classname>Zend_Tool_Framework</classname> - O framework que expõe
|
|
|
recursos da ferramenta.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
@@ -143,11 +143,11 @@
|
|
|
<title>Entendendo o Cliente CLI</title>
|
|
|
|
|
|
<para>
|
|
|
- A <acronym>CLI</acronym>, ou ferramenta de linha de comando (internamente
|
|
|
+ A <acronym>CLI</acronym>, ou ferramenta de linha de comando (internamente
|
|
|
conhecida como ferramenta de console), é atualmente a interface primária para enviar
|
|
|
- pedidos ao <classname>Zend_Tool</classname> requests. Com a ferramenta <acronym>CLI</acronym>,
|
|
|
+ pedidos ao <classname>Zend_Tool</classname> requests. Com a ferramenta <acronym>CLI</acronym>,
|
|
|
desenvolvedores podem enviar pedidos para a ferramenta dentro da "janela de linha de comando", também
|
|
|
- comumente conhecida como janela do "terminal". Este ambiente é predominante em
|
|
|
+ comumente conhecida como janela do "terminal". Este ambiente é predominante em
|
|
|
embientes *unix, mas também tem uma implementação comum no Windows como o
|
|
|
<filename>cmd.exe</filename>, console2 e também com o projeto Cygwin.
|
|
|
</para>
|
|
|
@@ -162,7 +162,7 @@
|
|
|
propósitos, é o arquivo <filename>.sh</filename> ou <filename>.bat</filename>
|
|
|
que é provido com a sua distribuição do Zend Framework. No trunk, ele pode ser
|
|
|
encontrado aqui:
|
|
|
- <ulink
|
|
|
+ <ulink
|
|
|
url="http://framework.zend.com/svn/framework/standard/trunk/bin/">http://framework.zend.com/svn/framework/standard/trunk/bin/</ulink>.
|
|
|
</para>
|
|
|
|
|
|
@@ -180,15 +180,15 @@
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Finalmente, você quer garantir duas coisas para fazer tudo funcionar
|
|
|
+ Finalmente, você quer garantir duas coisas para fazer tudo funcionar
|
|
|
independentemente do sistema operacional em que você está:
|
|
|
</para>
|
|
|
|
|
|
<orderedlist>
|
|
|
<listitem>
|
|
|
<para>
|
|
|
- <filename>zf.sh/zf.bat</filename> acessível a partir do path do sistema.
|
|
|
- Esta é a capacidade de chamar <command>zf</command> de qualquer lugar na sua linha de comando,
|
|
|
+ <filename>zf.sh/zf.bat</filename> acessível a partir do path do sistema.
|
|
|
+ Esta é a capacidade de chamar <command>zf</command> de qualquer lugar na sua linha de comando,
|
|
|
independentemente de qual é o seu diretório de trabalho atual.
|
|
|
</para>
|
|
|
</listitem>
|
|
|
@@ -203,7 +203,7 @@
|
|
|
|
|
|
<note>
|
|
|
<para>
|
|
|
- Nota: enquanto os acima são os requisitos ideais, você pode simplesmente
|
|
|
+ Nota: enquanto os acima são os requisitos ideais, você pode simplesmente
|
|
|
baixar o Zend Framework e esperar que ele funcione como <filename>./path/to/zf.php</filename>
|
|
|
algum comando..
|
|
|
</para>
|
|
|
@@ -216,7 +216,7 @@
|
|
|
<para>
|
|
|
A configuração mais comum no ambiente *nix, é copiar o <filename>zf.sh</filename> e
|
|
|
o <filename>zf.php</filename> no mesmo diretório que o seu binário <acronym>PHP</acronym>.
|
|
|
- Isto pode geralmente ser achado nos seguintes lugares:
|
|
|
+ Isto pode geralmente ser achado nos seguintes lugares:
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="text"><![CDATA[
|
|
|
@@ -229,12 +229,12 @@
|
|
|
<para>
|
|
|
Para achar a localização do seu binário <acronym>PHP</acronym>, você pode executar
|
|
|
'which php' na linha de comando. Isto retornará a localização do binário do <acronym>PHP</acronym>
|
|
|
- que você está usando para rodar scripts <acronym>PHP</acronym> no seu ambiente.
|
|
|
+ que você está usando para rodar scripts <acronym>PHP</acronym> no seu ambiente.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
O próximo passo é certificar que a biblioteca Zend Framework está configurada
|
|
|
- corretamente dentro do sistema de <property>include_path</property> do
|
|
|
+ corretamente dentro do sistema de <property>include_path</property> do
|
|
|
<acronym>PHP</acronym>. Para achar onde seu <property>include_path</property>
|
|
|
está localizado, você pode executar <command>php -i</command> e olhar para
|
|
|
a variável <property>include_path</property>, o mais sucintamente, executar
|
|
|
@@ -300,7 +300,7 @@ ln -s /home/username/lib/ZendFramework/bin/zf.sh /home/username/bin/zf
|
|
|
<title>Configurando a ferramenta CLI no Windows</title>
|
|
|
|
|
|
<para>
|
|
|
- A confuguração mais comum no ambiente Win32, é copiar o
|
|
|
+ A confuguração mais comum no ambiente Win32, é copiar o
|
|
|
<filename>zf.bat</filename> e o <filename>zf.php</filename> para dentr do mesmo
|
|
|
diretório do seu binário <acronym>PHP</acronym>. Este pode geralmente ser achado
|
|
|
nos seguintes lugares:
|
|
|
@@ -325,7 +325,7 @@ C:\WAMP\PHP\bin
|
|
|
está configurada corretamente dentro do sistema de <property>include_path</property>
|
|
|
do <acronym>PHP</acronym>. Para achar onde seu <property>include_path</property>
|
|
|
está localizado, você pode digitar <command>php -i</command> e olhar para a
|
|
|
- variável <property>include_path</property>, ou mais sucintamente executar
|
|
|
+ variável <property>include_path</property>, ou mais sucintamente executar
|
|
|
<command>php -i | grep include_path</command> se você tem um Cygwin configurado
|
|
|
com grep disponível. Uma vez você tenha achado onde seu <property>include_path</property>
|
|
|
está localizado(isto irá geralmente ser algo como <filename>C:\PHP\pear</filename>,
|
|
|
@@ -335,7 +335,7 @@ C:\WAMP\PHP\bin
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Uma vez tenha terminado aquilas duas coisas, você deve ser capaz de enviar um
|
|
|
+ Uma vez tenha terminado aquilas duas coisas, você deve ser capaz de enviar um
|
|
|
comando e receber o devida resposta como:
|
|
|
</para>
|
|
|
|
|
|
@@ -360,8 +360,8 @@ C:\WAMP\PHP\bin
|
|
|
Zend Framework junto como está, e alterar ambos seu sistema de <constant>PATH</constant>
|
|
|
bem como o arquivo <filename>php.ini</filename>. No seu ambiente de usuário,
|
|
|
tenha certeza de adcionar <filename>C:\Path\To\ZendFramework\bin</filename>,
|
|
|
- então seu arquivo <filename>zf.bat</filename> será executável. Também, altere
|
|
|
- o arquivo <filename>php.ini</filename> certificando que
|
|
|
+ então seu arquivo <filename>zf.bat</filename> será executável. Também, altere
|
|
|
+ o arquivo <filename>php.ini</filename> certificando que
|
|
|
<filename>C:\Path\To\ZendFramework\library</filename> está no seu
|
|
|
<property>include_path</property>.
|
|
|
</para>
|
|
|
@@ -374,7 +374,7 @@ C:\WAMP\PHP\bin
|
|
|
Se por alguma razão você não quiser a biblioteca do Zend Framework dentro
|
|
|
do seu <property>include_path</property>, existe uma outra opção. Existem
|
|
|
duas variáveis de ambiente especiais que o <filename>zf.php</filename> irá
|
|
|
- utilizar para determinar a localização da sua instalação do Zend Framework.
|
|
|
+ utilizar para determinar a localização da sua instalação do Zend Framework.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
@@ -386,7 +386,7 @@ C:\WAMP\PHP\bin
|
|
|
|
|
|
<para>
|
|
|
Alternativamente, você pode querer usar <constant>ZEND_TOOL_INCLUDE_PATH</constant>
|
|
|
- para <emphasis>substituir</emphasis> completamente o sistema de
|
|
|
+ para <emphasis>substituir</emphasis> completamente o sistema de
|
|
|
<property>include_path</property> para um que faça sentido especialmente para
|
|
|
a ferramente de linha de comando <command>zf</command>.
|
|
|
</para>
|
|
|
@@ -464,7 +464,7 @@ C:\WAMP\PHP\bin
|
|
|
<para>
|
|
|
Você pode expor seus providers para <classname>Zend_Tool</classname>
|
|
|
oferecendo um manifest com a nome de arquivo especial terminando com
|
|
|
- "Manifest.php". Um Provider Manifest é uma implementação do
|
|
|
+ "Manifest.php". Um Provider Manifest é uma implementação do
|
|
|
<interface>Zend_Tool_Framework_Manifest_ProviderManifestable</interface>
|
|
|
e requer o método <methodname>getProviders()</methodname> para retornar
|
|
|
uma array providers instânciados. Em antecipação do seu primeiro próprio
|
|
|
@@ -515,7 +515,7 @@ class My_Component_HelloProvider
|
|
|
<para>
|
|
|
Dado o códifo acima, e assumindo que o desenvolvedor deseja acessar
|
|
|
esta funcionalidade através do cliente de console, a chamada se pareceria
|
|
|
- com isto:
|
|
|
+ com isto:
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="sh"><![CDATA[
|
|
|
@@ -550,7 +550,7 @@ class My_Component_HelloProvider
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Como você pode ser ele extende o
|
|
|
+ Como você pode ser ele extende o
|
|
|
<classname>Zend_Tool_Framework_Provider_Abstract</classname> para ter acesso
|
|
|
ao Registry que guarda a instância do <classname>Zend_Tool_Framework_Client_Response</classname>.
|
|
|
</para>
|
|
|
@@ -566,19 +566,19 @@ class My_Component_HelloProvider
|
|
|
<para>
|
|
|
O exemplo "Hello World" acima é ótimo para comandos simples, mas
|
|
|
o que dizer sobre algo mais avançado? Como seu script e ferramentas
|
|
|
- necessidades crescem, você pode achar que você precisa da capacidade de aceitar
|
|
|
+ necessitam crescer, você pode achar que precisa da capacidade de aceitar
|
|
|
variáveis. Bem como assinaturas de função têm parâmetros, a sua
|
|
|
chamada para a ferramenta também podem aceitar parâmetros.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Just as each tooling request can be isolated to a method within a
|
|
|
- class, the parameters of a tooling request can also be isolated in a
|
|
|
- very well known place. Parameters of the action methods of a
|
|
|
- provider can include the same parameters you want your client to
|
|
|
- utilize when calling that provider and action combination. For
|
|
|
- example, if you wanted to accept a name in the above example, you
|
|
|
- would probably do this in OO code:
|
|
|
+ Assim como cada requisição à ferramenta podem ser isolado a um método
|
|
|
+ dentro de uma classe, os parâmetros de uma requisição à ferramenta
|
|
|
+ também podem ser isolado em um lugar muito conhecido. Parâmetros dos
|
|
|
+ métodos de ação de um provider podem incluir os mesmos parâmetros que
|
|
|
+ você deseja que o seu cliente utilize ao chamar o provider e combinação
|
|
|
+ de ações. Por exemplo, se você quiser aceitar um nome no exemplo acima,
|
|
|
+ você provavelmente fazer isso em um código OO:
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -593,23 +593,23 @@ class My_Component_HelloProvider
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>
|
|
|
- The above example can then be called via the command line
|
|
|
- <command>zf say hello Joe</command>. "Joe" will be supplied to the provider
|
|
|
- as a parameter of the method call. Also note, as you see that the
|
|
|
- parameter is optional, that means it is also optional on the command
|
|
|
- line, so that <command>zf say hello</command> will still work, and default
|
|
|
- to the name "Ralph".
|
|
|
+ O exemplo acima pode então ser chamado via linha de comando
|
|
|
+ <command>zf say hello Joe</command>. "Joe" será fornecido ao provider
|
|
|
+ como um parametro do método chamado. Também note, como pode ser que o
|
|
|
+ parametro é opcional, isto significa que ele é também opcional na linha
|
|
|
+ de comando, assim <command>zf say hello</command> ainda funcionará, e
|
|
|
+ por padrão o nome será "Ralph".
|
|
|
</para>
|
|
|
</sect5>
|
|
|
|
|
|
<sect5
|
|
|
id="zend.tool.extending.zend-tool-framework.providers-and-manifests.advanced.prompt">
|
|
|
- <title>Prompt the User for Input</title>
|
|
|
+ <title>Solicitar Entrada ao Usuário</title>
|
|
|
|
|
|
<para>
|
|
|
- There are cases when the workflow of your provider requires
|
|
|
- to prompt the user for input. This can be done by requesting
|
|
|
- the client to ask for more the required input by calling:
|
|
|
+ Existem casos quando o workflow do seu provider requer
|
|
|
+ solicitar o usuário entrada de dados. Isto pode ser feito,
|
|
|
+ solicitando o cliente a pedir mais entradas necessárias chamando:
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -629,33 +629,32 @@ class My_Component_HelloProvider
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>
|
|
|
- This command throws an exception if the current client is not
|
|
|
- able to handle interactive requests. In case of the default Console Client
|
|
|
- however you will be asked to enter the name.
|
|
|
+ Este comando dispara uma exceção se o cliente corrente não é
|
|
|
+ capaz de manipular requisições interativas. No caso de o Cliente do Console
|
|
|
+ padrão, contudo, você será solicitado a digitar o nome.
|
|
|
</para>
|
|
|
</sect5>
|
|
|
|
|
|
<sect5
|
|
|
id="zend.tool.extending.zend-tool-framework.providers-and-manifests.advanced.pretendable">
|
|
|
- <title>Pretending to execute a Provider Action</title>
|
|
|
+ <title>Fingindo para executar um Provider Action</title>
|
|
|
|
|
|
<para>
|
|
|
- Another interesting feature you might wish to implement is
|
|
|
- <emphasis>pretendability</emphasis>. Pretendabilty is the ability
|
|
|
- for your provider to "pretend" as if it is doing the requested
|
|
|
- action and provider combination and give the user as much
|
|
|
- information about what it <emphasis>would</emphasis> do without
|
|
|
- actually doing it. This might be an important notion when doing
|
|
|
- heavy database or filesystem modifications that the user might not
|
|
|
- otherwise want to do.
|
|
|
+ Outra funcionalidade interessante que você pode desejar implementar
|
|
|
+ é <emphasis>fingimento</emphasis>. Fingimento é a capacidade de seu
|
|
|
+ provedor para "fingir" como se estivesse fazendo a ação solicitada e
|
|
|
+ combinação de provedor e dar ao usuário o máximo de informações sobre
|
|
|
+ o que <emphasis>faria</emphasis> sem realmente fazesse. Isso pode
|
|
|
+ ser uma noção importante ao fazer banco de dados pesado ou modificações
|
|
|
+ do sistema de arquivos que o usuário não poderiam querer fazer.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Pretendability is easy to implement. There are two parts to this
|
|
|
- feature: 1) marking the provider as having the ability to "pretend",
|
|
|
- and 2) checking the request to ensure the current request was indeed
|
|
|
- asked to be "pretended". This feature is demonstrated in the code
|
|
|
- sample below.
|
|
|
+ Fingimento é fácil de implementar. Existem duas partes para esta
|
|
|
+ funcionalidade: 1) marcando o provider como tendo a habilidade para
|
|
|
+ "fingir", e 2) verificando a requisição para garantir a requisição
|
|
|
+ corrente foi de fato solicitada a ser "pretended". Esta funcionalidade
|
|
|
+ é demostrada no simples código abaixo.
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -675,7 +674,7 @@ class My_Component_HelloProvider
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>
|
|
|
- To run the provider in pretend mode just call:
|
|
|
+ Para rodar o provider em modo fingido apenas chame:
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="sh"><![CDATA[
|
|
|
@@ -686,13 +685,12 @@ I would say hello Ralph.
|
|
|
|
|
|
<sect5
|
|
|
id="zend.tool.extending.zend-tool-framework.providers-and-manifests.advanced.verbosedebug">
|
|
|
- <title>Verbose and Debug modes</title>
|
|
|
+ <title>Modos Verboso e Debug</title>
|
|
|
|
|
|
<para>
|
|
|
- You can also run your provider actions in "verbose" or "debug" modes.
|
|
|
- The semantics in regard to this actions have to be implemented by you
|
|
|
- in the context of your provider. You can access debug or verbose modes
|
|
|
- with:
|
|
|
+ Você pode também rodar as suas actions do provider em modo "verboso" ou "debug".
|
|
|
+ A semântica em relação a esta ações devem ser implementadas por você
|
|
|
+ no contexto do seu provedor. Você pode acessar o modo debug ou verboso com:
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -714,13 +712,13 @@ class My_Component_HelloProvider
|
|
|
|
|
|
<sect5
|
|
|
id="zend.tool.extending.zend-tool-framework.providers-and-manifests.advanced.configstorage">
|
|
|
- <title>Accessing User Config and Storage</title>
|
|
|
+ <title>Acessando Configuração e Armazenamento de Usuário</title>
|
|
|
|
|
|
<para>
|
|
|
- Using the Enviroment variable <property>ZF_CONFIG_FILE</property> or the
|
|
|
- .zf.ini in your home directory you can inject configuration parameters into
|
|
|
- any <classname>Zend_Tool</classname> provider. Access to this configuration
|
|
|
- is available via the registry that is passed to your provider if you extend
|
|
|
+ Usando a variável de Ambiente <property>ZF_CONFIG_FILE</property> ou o
|
|
|
+ .zf.ini em seu diretório home você pode injetar parametros configuração em
|
|
|
+ qualquer provider <classname>Zend_Tool</classname>. Acesso a esta configuração
|
|
|
+ está disponível via registry que é passado para seu provider se você extender
|
|
|
<classname>Zend_Tool_Framework_Provider_Abstract</classname>.
|
|
|
</para>
|
|
|
|
|
|
@@ -741,17 +739,18 @@ class My_Component_HelloProvider
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>
|
|
|
- The returned configuration is of the type
|
|
|
- <classname>Zend_Tool_Framework_Client_Config</classname> but internally the
|
|
|
- <methodname>__get()</methodname> and <methodname>__set()</methodname> magic
|
|
|
- methods proxy to a <classname>Zend_Config</classname> of the given
|
|
|
- configuration type.
|
|
|
+ A configuração retornada está no tipo
|
|
|
+ <classname>Zend_Tool_Framework_Client_Config</classname> mas internamente os
|
|
|
+ métodos mágicos <methodname>__get()</methodname> and <methodname>__set()</methodname>
|
|
|
+ encaminham para um <classname>Zend_Config</classname> do tipo de configuração
|
|
|
+ fornecida.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- The storage allows to save arbitrary data for later reference. This can be
|
|
|
- useful for batch processing tasks or for re-runs of your tasks. You can
|
|
|
- access the storage in a similar way like the configuration:
|
|
|
+ O armazenamento permite salvar dados arbitrarios para referenciar depois.
|
|
|
+ Isto pode ser útil para tarefas de processamento em lote ou para re-executar
|
|
|
+ sua tarefa. Você pode acessar o armazenamento em uma caminho similar ao
|
|
|
+ da configuração:
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -767,7 +766,7 @@ class My_Component_HelloProvider
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>
|
|
|
- The <acronym>API</acronym> of the storage is very simple:
|
|
|
+ A <acronym>API</acronym> para o armazenamento é muito simples:
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -785,10 +784,11 @@ class Zend_Tool_Framework_Client_Storage
|
|
|
|
|
|
<important>
|
|
|
<para>
|
|
|
- When designing your providers that are config or storage aware remember
|
|
|
- to check if the required user-config or storage keys really exist for a
|
|
|
- user. You won't run into fatal errors when none of these are provided
|
|
|
- though, since empty ones are created upon request.
|
|
|
+ Ao projetar seus providers que estarão cientes do armazenamento e da
|
|
|
+ configuração lembre-se de verificar se configurações de usuário ou
|
|
|
+ chaves de armazenamento necessárias realmente existem para um usuário.
|
|
|
+ Você não vai executar em erros fatais quando nenhuma dessas existir
|
|
|
+ porém, desde que eles estejam vazios, são criados mediante solicitação.
|
|
|
</para>
|
|
|
</important>
|
|
|
</sect5>
|
|
|
@@ -797,55 +797,53 @@ class Zend_Tool_Framework_Client_Storage
|
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="zend.tool.extending.zend-tool-project">
|
|
|
- <title>Zend_Tool_Project Extensions</title>
|
|
|
+ <title>Extensões Zend_Tool_Project</title>
|
|
|
|
|
|
<para>
|
|
|
- <classname>Zend_Tool_Project</classname> exposes a rich set of functionality and
|
|
|
- capabilities that make the task of creating new providers, specficially those targetting
|
|
|
- project easier and more manageable.
|
|
|
+ <classname>Zend_Tool_Project</classname> expoe um rico conjunto de funcionalidades e
|
|
|
+ capacidades que faz o tarefa de criação de novos providers, especificamente visando
|
|
|
+ projetos mais fáceis e mais gerenciáveis.
|
|
|
</para>
|
|
|
|
|
|
<sect3 id="zend.tool.extending.zend-tool-project.architecture">
|
|
|
- <title>Overall Architecture</title>
|
|
|
+ <title>Arquitetura Geral</title>
|
|
|
|
|
|
<para>
|
|
|
- This same concept applies to Zend Framework projects. In Zend Framework projects,
|
|
|
- you have controllers, actions, views, models, databases and so on and so forth. In
|
|
|
- terms of <classname>Zend_Tool</classname>, we need a way to track these types of
|
|
|
- resources - thus <classname>Zend_Tool_Project</classname>.
|
|
|
+ Este mesmo conceito se aplica aos projetos Zend Framework. Em projetos de Zend Framework,
|
|
|
+ você tem controllers, actions, views, models, bancos de dados e assim por diante. Em
|
|
|
+ Termos de <classname>Zend_Tool</classname>, nós precisamos de um caminho para rastrear
|
|
|
+ estes tipos de recursos - portanto <classname>Zend_Tool_Project</classname>.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- <classname>Zend_Tool_Project</classname> is capable of tracking project resources
|
|
|
- throughout the development of a project. So, for example, if in one command you
|
|
|
- created a controller, and in the next command you wish to create an action within
|
|
|
- that controller, <classname>Zend_Tool_Project</classname> is gonna have to
|
|
|
- <emphasis>know</emphasis> about the controller file you created so that you can (in
|
|
|
- the next action), be able to append that action to it. This is what keeps our
|
|
|
- projects up to date and <emphasis>stateful</emphasis>.
|
|
|
+ <classname>Zend_Tool_Project</classname> é capaz de rastrear os recursos do projeto
|
|
|
+ ao longo do desenvolvimento de um projeto. Então, por exemplo, se em um comando você
|
|
|
+ criar um controller, e no próximo comando você quiser criar uma action sem o controller,
|
|
|
+ <classname>Zend_Tool_Project</classname> vai ter de <emphasis>saber</emphasis>
|
|
|
+ sobre o arquivo controller que você criou de modo que você pode (na próxima ação),
|
|
|
+ ser capaz de acrescentar a action a ele. Isto é o que mantém os nossos projetos
|
|
|
+ em dia e <emphasis>monitorado</emphasis>.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Another important point to understand about projects is that typically, resources
|
|
|
- are organized in a hierarchical fashion. With that in mind,
|
|
|
- <classname>Zend_Tool_Project</classname> is capable of serializing the current
|
|
|
- project into a internal representation that allows it to keep track of not only
|
|
|
- <emphasis>what</emphasis> resources are part of a project at any given time, but
|
|
|
- also <emphasis>where</emphasis> they are in relation to one another.
|
|
|
+ Outro ponto importante para entender é sobre projetos é que tipicamente, recursos
|
|
|
+ são organizados em uma forma hierarquica. Com que em mente, <classname>Zend_Tool_Project</classname>
|
|
|
+ é capaz de serializar o projeto corrente em uma representação interna que permite
|
|
|
+ lhe permite acompanhar não só <emphasis>que</emphasis> recursos são parte de um projeto em um dado momento,
|
|
|
+ mas também <emphasis>onde</emphasis> eles estão em relação uns aos outros.
|
|
|
</para>
|
|
|
</sect3>
|
|
|
|
|
|
|
|
|
<sect3 id="zend.tool.extending.zend-tool-project.providers">
|
|
|
- <title>Creating Providers</title>
|
|
|
+ <title>Criando Providers</title>
|
|
|
|
|
|
<para>
|
|
|
- Project specific providers are created in the same fashion as plain framework
|
|
|
- providers, with one exception: project providers must extend the
|
|
|
- <classname>Zend_Tool_Project_Provider_Abstract</classname>. This class comes with
|
|
|
- some significant functionality that helps developers load existing project, obtian
|
|
|
- the profile object, and be able to search the profile, then later store any changes
|
|
|
- to the current project profile.
|
|
|
+ Providers específicos de projeto são criados da mesma forma como providers de serviços,
|
|
|
+ com uma exceção: os providers de projeto devem estender de <classname>Zend_Tool_Project_Provider_Abstract</classname>.
|
|
|
+ Esta classe vem com algumas funcionalidades significativas que ajudam os desenvolvedores
|
|
|
+ a caregar o projeto existente, obter o objeto de profile, e ser capaz de pesquisar o profile,
|
|
|
+ e depois armazenar quaisquer alterações ao profile do projeto atual.
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|