diff --git a/documentation/manual/pt-br/module_specs/Zend_Controller-FrontController.xml b/documentation/manual/pt-br/module_specs/Zend_Controller-FrontController.xml
deleted file mode 100644
index b3d5e32ffed..00000000000
--- a/documentation/manual/pt-br/module_specs/Zend_Controller-FrontController.xml
+++ /dev/null
@@ -1,550 +0,0 @@
-
- O Front Controller
-
-
- Resumo
-
-
- Zend_Controller_Front implementa um padrão Front
- Controller usado nas aplicações Model-View-Controller
- (MVC). Seu objetivo é inicializar o ambiente de requisição,
- roterizar as requisições que chegam, e despachalas para quaquel ações
- descobertas; ele agrega alguma resposta e devolve-os quando o
- processo é completo.
-
-
-
- Zend_Controller_Front também implementa o padrão Singleton
- , signicando que somente uma instancia dele pode estar disponivel
- em qualquer tempo. Isto permite que ele atue também como um registro em
- que outros objetos no processo de despacho possam usar.
-
-
-
- Zend_Controller_Front registra uma plugin de entrada que
- por si só, permite que vários eventos sejam disparados para
- outros plugins observadores. Em muitos casos, isto permite ao
- desenvolvedor a oportunidade para mudar o processo de despacho do
- site sem a necessidade de extender o controlador de frente para
- adicionar funcionalidade.
-
-
-
- O mínimo necessário, que o controlador de frente necessita é um ou mais
- caminho para os diretórios contendo os
- controles de ação
- para poder fazer seu trabalho. Vários metódos também
- podem ser invocados para mudar o ambiente do controlador de frente
- e suas classe auxiliares.
-
-
-
- Comportamento padrão
-
- Por padrão, o controlador de frente carrega o ErrorHandler
- plugin, bem como o ViewRenderer
- plugin de ação auxiliar. Faz isto para simplificar o controle de erro e
- a apresentação de visulizadores em seus controles, repectivamente.
-
-
-
- Para desabilitar o ErrorHandler, execute a seguinte
- chamada em qualquer ponto antes de chamar dispatch():
-
-
- setParam('noErrorHandler', true);]]>
-
-
-
- Para desabilitar o ViewRenderer, faça o seguinte
- antes de chamar dispatch():
-
-
- setParam('noViewRenderer', true);]]>
-
-
-
-
-
- Metódos Primários
-
-
- O controlador de frente possuí vários acessores para configurar
- seu ambiente. Entretanto existem três metódos chaves primários
- da funcionalidades do controlador de frente:
-
-
-
- getInstance()
-
-
- getInstance() é usado para retirar a instancia
- do controlador de frente. Como o controlador de frente
- implementa o padrão Singleton, isto também é a unica
- maneira possível de instanciar um objeto controlador de frente.
-
-
-
-
-
-
-
- setControllerDirectory() and addControllerDirectory
-
-
- setControllerDirectory() é usado para dizer ao despachador
- onde procurar os arquivos da classes dos controladores de ação.
- Ele aceita tanto um caminho único ou um array associativo
- com pares módulo/caminho.
-
-
-
- Alguns exemplos:
-
-
- setControllerDirectory('../application/controllers');
-
-// Set several module directories at once:
-$front->setControllerDirectory(array(
- 'default' => '../application/controllers',
- 'blog' => '../modules/blog/controllers',
- 'news' => '../modules/news/controllers',
-));
-
-// Add a 'foo' module directory:
-$front->addControllerDirectory('../modules/foo/controllers', 'foo');]]>
-
-
-
-
- Se você usar addControllerDirectory() sem um
- nome de módulo, ele irá configurar o diretório para o módulo
- padrão -- sobrescrevendo-o se ele já existir.
-
-
-
-
- Você pode pegar a configuração corrente do diretório do
- controlador usando getControllerDirectory();
- isto irá retornar um array de pares módulo/diretório.
-
-
-
-
- dispatch()
-
-
- dispatch(Zend_Controller_Request_Abstract $request = null,
- Zend_Controller_Response_Abstract $response = null)
- faz o trabalho pesado do controlador de frente. Ele pode
- opcionalmente pegar um objeto
- de requisição e/ou um objeto de resposta,
- permitindo ao desenvolvedor passar a ele objetos personalizados
- de cada.
-
-
-
- Se nenhum objeto de requisição ou resposta for passado,
- dispatch() irá procurar por objetos previamente
- registrados e usa-los ou instanciar versões padrão para usar
- em seus processos (em ambos os casos, o HTTP será usado como padrão).
-
-
-
- Similarmente, dispatch() checa por uma
- router registrada e
- um objetos de
- dispacho,
- instanceando a versão padrão de cada um deles se não encontrar
- nenhum.
-
-
-
- O processo de dispacho possui três eventos distintos:
-
-
-
- Roterização
- Despacho
- Resposta
-
-
-
- A Roterização realiza-se exatamente uma vez, usando os valores
- no objeto de requisicão quando dispatch() é chamado.
- O Despacho ocorre em um laço; uma requisição pode tanto indicar
- multiplas ações para dispachar, ou o controlador ou um plugin pode
- reiniciar o objeto de requisição para forçar ações adicionais
- para o despacho. Quando tudo está pronto, o controlador de frente
- retorna uma resposta.
-
-
-
-
- run()
-
-
- Zend_Controller_Front::run($path) é um método estático
- que toma simplesmente um caminho para um diretório contendo
- os controladores. Ele
-
- Zend_Controller_Front::run($path) is a static
- method taking simply a path to a directory containing
- controllers. Ele traz um exemplo de controlador de frente (via
- getInstance(),
- registra o caminho fornecido via setControllerDirectory(),
- e finalmente dispacha.
-
-
-
- Basicamente, run() é um método de conveniência que pode
- ser usado para configurações de sítios que não necessitam de customizações
- no ambiente de controle de frente.
-
-
-
-
-
-
-
-
- Métodos Acessores Ambientais
-
-
- Além dos métodos enumerados em cima, há um número de
- os métodos acessores que podem ser usados para afetar o ambiente
- do controlador de frente - e assim o ambiente das classes em que
- o controlador de frente delega.
-
-
-
-
-
- resetInstance() pode ser usado para limpar
- todas as configurações atualmente definidas.
- Seu propósito inicial é para teste, mas
- ele também pode ser usado para intâncias onde você
- deseja encadear um conjunto de múltiplos controladores de
- frente.
-
-
-
-
-
- (set|get)DefaultControllerName() permite a você
- específicar um nome difetente para usar no controlador padrão
- ('index' é usado de outra maneira) e recuperar o valor atual.
- Eles apontaram para o o despachante.
-
-
-
-
-
- (set|get)DefaultActionName() permite a você epecíficar
- um nome diferente para ser usado na ação padrão ('index' é usado
- por padrão) e recuperar o valor atual. Eles apontãm para
- o
- despachante.
-
-
-
-
-
- (set|get)Request() permite a você específicar
- a classe de pedido
- ou objeto para usar durente o processo de despacho e
- para recuperar o objeto atual. Ao configurar o objeto de
- requisição, você pode passar uma nome de classe de requisição,
- neste caso o metódo irá carregar o arquivo da classe e instancia-la.
-
-
-
-
-
- (set|get)Router() permite a você especificar o objeto ou classe roteador(a)
- para usar durante o processo de dispacho e para
- recuperar o objeto atual. Quando estiver definindo o objeto
- roteador, você pode passar o nome de uma classe roteadora
- e neste caso o metódo roteado irá carregar o arquivo da classe
- e instancia-la.
-
-
-
- Quando recuperá o objeto roteador, ele primeiro verifica se já
- existe um, se não, instanceia o reteador padrão (roteador re-escrito).
-
-
-
-
-
- (set|get)BaseUrl() let you specify the base
- URL to strip when routing requests and to
- retrieve the current value. The value is provided to the
- request object just prior to routing.
-
-
-
-
-
- (set|get)Dispatcher() let you specify the
- dispatcher class or object to use during the
- dispatch process and retrieve the current object. When
- setting the dispatcher object, you may pass in a dispatcher
- class name, in which case the method will load the class
- file and instantiate it.
-
-
-
- When retrieving the dispatcher object, it first checks to see if
- one is present, and if not, instantiates the default
- dispatcher.
-
-
-
-
-
- (set|get)Response() let you specify the response
- class or object to use during the dispatch process and to
- retrieve the current object. When setting the response
- object, you may pass in a response class name, in which case
- the method will load the class file and instantiate it.
-
-
-
-
-
- registerPlugin(Zend_Controller_Plugin_Abstract $plugin, $stackIndex = null)
- allows you to register a plugin objects.
- By setting the optional $stackIndex, you can
- control the order in which plugins will execute.
-
-
-
-
-
- unregisterPlugin($plugin) let you
- unregister plugin objects.
- $plugin may be either a plugin object or a
- string denoting the class of plugin to unregister.
-
-
-
-
-
- throwExceptions($flag) is used to turn on/off
- the ability to throw exceptions during the dispatch process.
- By default, exceptions are caught and placed in the response
- object; turning on throwExceptions()
- will override this behaviour.
-
-
-
- For more information, read .
-
-
-
-
-
- returnResponse($flag) is used to tell the front
- controller whether to return the response
- (true) from dispatch(), or if the
- response should be automatically emitted
- (false). By default, the response is
- automatically emitted (by calling
- Zend_Controller_Response_Abstract::sendResponse());
- turning on returnResponse() will override this
- behaviour.
-
-
-
- Reasons to return the response include a desire to check for
- exceptions prior to emitting the response, needing to log
- various aspects of the response (such as headers), etc.
-
-
-
-
-
-
- Front Controller Parameters
-
-
- In the introduction, we indicated that the front controller also
- acts as a registry for the various controller components. It does so
- through a family of "param" methods. These methods allow you to
- register arbitrary data -- objects and variables -- with the front
- controller to be retrieved at any time in the dispatch chain. These
- values are passed on to the router, dispatcher, and action
- controllers. The methods include:
-
-
-
-
-
- setParam($name, $value) allows you to set a
- single parameter of $name with value
- $value.
-
-
-
-
-
- setParams(array $params) allows you to set
- multiple parameters at once using an associative array.
-
-
-
-
-
- getParam($name) allows you to retrieve a single
- parameter at a time, using $name as the
- identifier.
-
-
-
-
-
- getParams() allows you to retrieve the entire
- list of parameters at once.
-
-
-
-
-
- clearParams() allows you to clear a single
- parameter (by passing a string identifier), multiple named
- parameters (by passing an array of string identifiers), or the
- entire parameter stack (by passing nothing).
-
-
-
-
-
- There are several pre-defined parameters that may be set that have
- specific uses in the dispatch chain:
-
-
-
-
-
- useDefaultControllerAlways is used to hint to
- the
- dispatcher to use the default controller in the
- default module for any request that is not dispatchable
- (i.e., the module, controller, and/or action do not exist).
- By default, this is off.
-
-
-
- See
- for more detailed information on using this setting.
-
-
-
-
-
- disableOutputBuffering is used to hint to the
- dispatcher that it should not use output
- buffering to capture output generated by action controllers.
- By default, the dispatcher captures any output and appends
- it to the response object body content.
-
-
-
-
-
- noViewRenderer is used to disable the ViewRenderer.
- Set this parameter to true to disable it.
-
-
-
-
-
- noErrorHandler is used to disable the Error
- Handler plugin. Set this parameter to true to
- disable it.
-
-
-
-
-
-
- Subclassing the Front Controller
-
-
- To subclass the Front Controller, at the very minimum you will need
- to override the getInstance() method:
-
-
-
-
-
-
- Overriding the getInstance() method ensures that
- subsequent calls to
- Zend_Controller_Front::getInstance() will return an
- instance of your new subclass instead of a
- Zend_Controller_Front instance -- this is particularly
- useful for some of the alternate routers and view helpers.
-
-
-
- Typically, you will not need to subclass the front controller unless
- you need to add new functionality (for instance, a plugin
- autoloader, or a way to specify action helper paths). Some points
- where you may want to alter behaviour may include modifying how
- controller directories are stored, or what default router or
- dispatcher are used.
-
-
-
-
diff --git a/documentation/manual/pt-br/module_specs/Zend_Db_Profiler.xml b/documentation/manual/pt-br/module_specs/Zend_Db_Profiler.xml
deleted file mode 100644
index b01c903aa55..00000000000
--- a/documentation/manual/pt-br/module_specs/Zend_Db_Profiler.xml
+++ /dev/null
@@ -1,300 +0,0 @@
-
-
- Zend_Db_Profiler
-
-
-
- Introdução
-
-
- Zend_Db_Profiler pode ser habilitado para permitir o profilling(análise de desempenho) de suas consultas(instruções SQL).
- Neste profiler(analisador) incluem-se as consultas processadas pelo adaptador e o tempo gasto em suas execuções,
- permitindo inspecionar as consultas que foram executadas, sem a necessidade de adicionar código ou classes extras de depuração. O seu uso avançado permite também que o desenvolvedor filtre quais consultas serão analisadas.
-
-
-
- Habilite o profiler para todos as consultas passando uma directiva
- para o construtor do adaptador, ou solicitando ao adaptador para
- habilitá-lo depois.
-
-
- '127.0.0.1',
- 'username' => 'malory',
- 'password' => '******',
- 'dbname' => 'camelot',
- 'profiler' => true // ligando o profiller; mude para false para desabilitá-lo(padrão)
-);
-
-$db = Zend_Db::factory('PDO_MYSQL', $params);
-
-// desligando o profiller:
-$db->getProfiler()->setEnabled(false);
-
-// ligando o profiller:
-$db->getProfiler()->setEnabled(true);]]>
-
-
-
-
-
- Usando o Profiler
-
-
- A qualquer momento, capture o profiler usando o método
- getProfiler() do adaptador.
-
-
- getProfiler();]]>
-
-
-
- Com isto, é retornado uma instância do objeto Zend_Db_Profiler. Com
- esta instância, o desenvolvedor pode examinar suas consultas usando uma variedade de métodos:
-
-
-
-
-
- getTotalNumQueries() retorna o número total
- de consultas que foram analisadas.
-
-
-
-
- getTotalElapsedSecs() retorna o número total
- de segundos gastos em todas as consultas analisadas.
-
-
-
-
- getQueryProfiles() retorna um array com todas as
- análises das consultas.
-
-
-
-
- getLastQueryProfile retorna a última (mais recente)
- consulta analisada, independente ou não se esta consulta foi finalizada(se não, o tempo final será nulo)
-
-
-
-
- clear() limpa qualquer análise antiga da pilha de execução.
-
-
-
-
-
- O valor retornado pelo getLastQueryProfile() e os
- elementos individuais do getQueryProfiles() são
- objetos do Zend_Db_Profiler_Query, que provê a
- habilidade de inspecionar suas consultas individualmente:
-
-
-
-
-
- getQuery() retorna o texto SQL da consulta.
- O texto SQL de uma instrução preparada (prepared statement) com seus parâmetros é o texto
- no momento em que a consulta foi preparada, contendo apenas os seus parâmetros, e não os seus valores
- usados quando a instrução é executada.
-
-
-
-
- getQueryParams() retorna um array de valores dos parâmetros que são usados
- quando for executada uma query preparada.
- Nisto incluem-se ambos parâmetros e argumentos acoplados do método execute() da instrução.
- As chaves do array são os posicionais (1-baseado) ou nomeados(string) índices de parâmetro.
-
-
-
-
-
- getElapsedSecs() retorna o número de segundos que a consulta executou.
-
-
-
-
-
- A informação fornecida pelo Zend_Db_Profiler é útil para analisar os gargalos
- das aplicações, e para depurar consultas que foram executadas. Por exemplo, para ver a última
- consulta que foi executada:
-
-
- getLastQueryProfile();
-
-echo $query->getQuery();]]>
-
-
-
- Talvez uma página qualquer esteja gerando lentidão. Use o profiler para determinar
- primeiro o total de segundos gastos em todas as consultas, e então
- examine-as para encontrar aquele que demorou mais tempo para executar.
-
-
- getTotalElapsedSecs();
-$queryCount = $profiler->getTotalNumQueries();
-$longestTime = 0;
-$longestQuery = null;
-
-foreach ($profiler->getQueryProfiles() as $query) {
- if ($query->getElapsedSecs() > $longestTime) {
- $longestTime = $query->getElapsedSecs();
- $longestQuery = $query->getQuery();
- }
-}
-
-echo 'Executado: ' . $queryCount . ' consultas em ' . $totalTime . ' seconds' . "\n";
-echo 'Tamanho médio da query' . $totalTime / $queryCount . ' seconds' . "\n";
-echo 'consultas por segundo: ' . $queryCount / $totalTime . "\n";
-echo 'Query que demorou mais tempo: ' . $longestTime . "\n";
-echo "Query mais longa: \n" . $longestQuery . "\n";]]>
-
-
-
-
-
-
- Uso Avançado do Profiller
-
-
- Além da inspeção de consultas, o profiler também permite ao devenvolvedor
- filtrar quais consultas sejam analisadas. Os seguintes métodos
- operam em uma instância de Zend_Db_Profiler.
-
-
-
- Filtro por tempo decorrido das consultas
-
-
- setFilterElapsedSecs() permite ao desenvolvedor setar um
- tempo mínimo para uma consulta antes de ela ser analisada.
- Para remover o filtro, passe para o método um valor nulo.
-
-
- setFilterElapsedSecs(5);
-
-// Todas as consultas analisadas, não importando o tamanho:
-$profiler->setFilterElapsedSecs(null);]]>
-
-
-
-
- Filtro pelo tipo de consulta
-
-
- setFilterQueryType() permite ao desenvolvedor setar
- quais tipos de consultas deverão ser analisadas; para analisar
- múltiplos tipos, lógicos ou todas. Os tipos de consultas são definidas
- segundo as constantes de Zend_Db_Profiler
-
-
-
-
-
- Zend_Db_Profiler::CONNECT: operações de conexão,
- ou seleção de base de dados.
-
-
-
-
- Zend_Db_Profiler::QUERY: consultas gerais da
- base de dados que não se encaixam com outro tipos.
-
-
-
-
- Zend_Db_Profiler::INSERT: qualquer consulta que
- adicionar novos dados para a base de dados, geralmente um INSERT SQL.
-
-
-
-
- Zend_Db_Profiler::UPDATE: qualquer consulta que
- atualiza dados existentes, geralmente um UPDATE SQL.
-
-
-
-
- Zend_Db_Profiler::DELETE: qualquer consulta que
- exclui dados existentes, geralmente um DELETE SQL.
-
-
-
-
- Zend_Db_Profiler::SELECT: qualquer consulta que
- retorna dados existentes, geralmente um SELECT SQL.
-
-
-
-
- Zend_Db_Profiler::TRANSACTION: qualquer
- operação transacional, como a inicialição da transação, commit ou rollback.
-
-
-
-
-
- Assim como usando o setFilterElapsedSecs(), você pode remover
- quaisquer filtros existentes passando null como único argumento.
-
-
- setFilterQueryType(Zend_Db_Profiler::SELECT);
-
-// Analisa as consultas SELECT, INSERT e UPDATE
-$profiler->setFilterQueryType(Zend_Db_Profiler::SELECT | Zend_Db_Profiler::INSERT | Zend_Db_Profiler::UPDATE);
-
-// Analisa a instrução DELETE (então podemos descobrir porque os dados continuam desaparecendo)
-$profiler->setFilterQueryType(Zend_Db_Profiler::DELETE);
-
-// Remove totos os filtros
-$profiler->setFilterQueryType(null);]]>
-
-
-
-
-
- Retorna análises por tipo de consulta
-
-
- Usando o setFilterQueryType(), podemos resumir as análises geradas.
- Entretanto, às vezes é mais útil manter todas as análises e visualizar somente
- aquelas que você precisa num determinado momento. Outra funcionalidade do
- getQueryProfiles() é a capacidade de fazer esta filtragem
- "on-the-fly" (execução de código em tempo de execução),
- passando o tipo da consulta(ou uma combinação lógica de tipos) em seu primeiro argumento;
- veja na
- uma lista de todas as constantes dos tipos de consultas.
-
-
- getQueryProfiles(Zend_Db_Profiler::SELECT);
-
-// Retorna apenas anásiles de consultas SELECT, INSERT e UPDATE.
-$profiles = $profiler->getQueryProfiles(Zend_Db_Profiler::SELECT | Zend_Db_Profiler::INSERT | Zend_Db_Profiler::UPDATE);
-
-// Retorna as análises feitas na instrução DELETE (então podemos descobrir porque os dados continuam desaparecendo)
-$profiles = $profiler->getQueryProfiles(Zend_Db_Profiler::DELETE);]]>
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/documentation/manual/pt-br/module_specs/Zend_Db_Select.xml b/documentation/manual/pt-br/module_specs/Zend_Db_Select.xml
deleted file mode 100644
index 3fe2aca2ba9..00000000000
--- a/documentation/manual/pt-br/module_specs/Zend_Db_Select.xml
+++ /dev/null
@@ -1,1304 +0,0 @@
-
-
- Zend_Db_Select
-
-
-
- Visão Geral do Objeto Select
-
-
- O objeto Zend_Db_Select representa um comando de consulta SQL SELECT.
- A classe possui métodos para a adição de partes individuais em uma query. Você
- pode especificar algumas partes da consulta usando métodos PHP e estruturas de
- dados, e a classe se encarrega de formar a sintaxe SQL correta para você. Depois
- da construção de uma consulta, você pode executá-la como se você houvesse a escrito
- em uma string.
-
-
-
- As vantagens oferecidas pelo Zend_Db_Select incluem:
-
-
-
-
-
- Métodos orientados a objetos para especificação de consultas SQL
- de maneira "piece-by-piece" (aos pedaços ou em partes);
-
-
-
-
- Abstração de independência de base de dados de algumas partes
- da consulta SQL;
-
-
-
-
- Colocação automática de aspas nos identificadores de metadados na maioria
- dos casos, para dar suporte aos identificadores que contém palavras SQL reservadas
- e caracteres especiais;
-
-
-
-
- Colocação automática de aspas nos identificadores e valores, para ajudar
- na redução de ataques por "SQL injection".
-
-
-
-
-
- A utilização de Zend_Db_Select não é obrigatória. Para consultas SELECT
- muito simples, normalmente é mais fácil escrever toda a consulta SQL
- em uma string e executá-la usando métodos da classe Adapter, como o
- query() ou fetchAll(). O uso de Zend_Db_Select
- é muito útil quando você precisa montar uma consulta SELECT usando "procedures"
- (através de procedimentos), ou quando você precisa montar a consulta baseando-se
- na lógica condicional da sua aplicação.
-
-
-
-
-
-
- Criando um Objeto Select
-
-
- Você pode criar uma instância de um objeto Zend_Db_Select
- usando o método select() de um objeto Zend_Db_Adapter_Abstract.
-
-
-
- Exemplo do método select() do adaptador para bases de dados
- select();]]>
-
-
-
- Outra forma de criar um objeto Zend_Db_Select é com o
- construtor dele, especificando o adaptador como parâmetro.
-
-
-
- Examplo da criação de um novo objeto Select
-
-
-
-
-
-
-
- Construindo Consultas Select
-
-
- Ao contruir um consulta, você pode adicionar cláusulas uma por uma.
- Existe um método diferente para cada cláusula no objeto.
-
-
-
- Exemplo do uso de métodos para adicionar cláusulas
- select();
-
-// Add a FROM clause
-$select->from( ...specify table and columns... )
-
-// Add a WHERE clause
-$select->where( ...specify search criteria... )
-
-// Add an ORDER BY clause
-$select->order( ...specify sorting criteria... );]]>
-
-
-
- Você também pode usar a maior parte dos métodos do objeto Zend_Db_Select
- com uma interface "fluent" conveniente. Uma interface "fluent" significa que cada
- método retorna uma referência para o objeto no qual foi chamado, então você pode
- imediatamente chamar outro método.
-
-
-
- Examplo de uso da interface "fluent"
- select()
- ->from( ...specify table and columns... )
- ->where( ...specify search criteria... )
- ->order( ...specify sorting criteria... );]]>
-
-
-
- Os exemplos nesta seção mostram o uso da interface "fluent",
- mas você pode usar a interface "non-fluent" em todos os casos.
- É freqüentemente necessário usar a interface "non-fluent" quando, por exemplo,
- sua aplicação precisa executar alguma lógica antes de adicionar uma cláusula
- a uma consulta.
-
-
-
-
- Adicionando uma cláusula FROM
-
-
- Especifique a tabela para esta consulta usando o método from().
- Você pode especificar o nome da tabela como uma simples string.
- Zend_Db_Select coloca o entre aspas o nome da tabela, então, você pode
- usar caracteres especiais.
-
-
-
- Example of the from() method
- select()
- ->from( 'products' );]]>
-
-
-
- You can also specify the correlation name (sometimes called the
- "table alias") for a table. Instead of a simple string, use an
- associative array mapping the correlation name to the table
- name. In other clauses of the SQL query, use this correlation
- name. If your query joins more than one table, Zend_Db_Select
- generates unique correlation names based on the table names,
- for any tables for which you don't specify the correlation name.
-
-
-
- Example of specifying a table correlation name
- select()
- ->from( array('p' => 'products') );]]>
-
-
-
- Algumas marcas de RDBMS dão suporte a um especificador de schema
- para uma tabela. Você pode especificar o nome a tabela como
- "schemaName.tableName", onde Zend_Db_Select coloca entre aspas
- cada uma das partes individualmente, ou então você deve especificar o nome
- do schema separadamente. Um nome de schema especificado no nome da tabela
- precede um schema fornecido separadamente se eventualmente ambos forem
- informados.
-
-
-
- Exemplo de especificação de nome de schema
- select()
- ->from( 'myschema.products' );
-
-// or
-
-$select = $db->select()
- ->from('products', '*', 'myschema');]]>
-
-
-
-
-
-
- Adicionando Colunas
-
-
- No segundo argumento do método from() ,
- você pode especificaras colunas a serem selecionadas da
- respectiva tabela. Se você não especificar nenhuma coluna,
- o valor padrão é "*", o caracter curinga para "todas as colunas".
-
-
-
- Você pode listar as colunas em um simples array de strings, ou como
- um mapeamento associativo do alias da coluna para nome da coluna.
- Se você só tiver uma coluna para consultar, e não precisar indicar um
- alias, você pode listá-la em uma string simples ao invés de um array.
-
-
-
- Se você passar um array vazio como o argumento de colunas, nenhuma
- coluna da respectiva tabela será incluída no result set.
- Veja um exemplo de código sob a seção do método join().
-
-
-
- Você pode especificar o nome da coluna como
- "correlationName.columnName".
- Zend_Db_Select os coloca entre aspas individualmente.
- Caso você não especifique o nome da correlação para uma coluna,
- é usado o nome da correlação da tabela indicada no métodofrom().
-
-
-
- Examples of specifying columns
- select()
- ->from(array('p' => 'products'),
- array('product_id', 'product_name'));
-
-// Build the same query, specifying correlation names:
-// SELECT p."product_id", p."product_name"
-// FROM "products" AS p
-
-$select = $db->select()
- ->from(array('p' => 'products'),
- array('p.product_id', 'p.product_name'));
-
-// Build this query with an alias for one column:
-// SELECT p."product_id" AS prodno, p."product_name"
-// FROM "products" AS p
-
-$select = $db->select()
- ->from(array('p' => 'products'),
- array('prodno' => 'product_id', 'product_name'));]]>
-
-
-
-
-
-
- Adicionando Colunas de Expressões
-
-
- Algumas vezes as colunas de uma consulta SQL são expressões, e não
- simplesmente o nome de uma couna da tabela. Expressões não devem usar
- nomes de correlação ou aspas. Se a string da coluna possuir parênteses,
- Zend_Db_Select a reconhecerá como uma expressão.
-
-
-
- Você também pode criar um objeto do tipo Zend_Db_Expr explicitamente,
- para prevenir que uma string seja tratada como um nome de coluna.
- Zend_Db_Expr é uma classe diminuta que contém uma única string.
- Zend_Db_Select reconhece obtejos do tipo Zend_Db_Expr e os converte
- novamente para strings, mas não efetua qualquer alteração como a
- colocação de aspas ou nomes de correlação.
-
-
-
-
- O uso de Zend_Db_Expr para nomes de colunas não é necessário se as
- expressões contiverem parênteses; Zend_Db_Select reconhece os parênteses
- e trata a string como uma expresão, ignorando a colocação de aspas e de
- nomes de correlação.
-
-
-
-
- Exemplos de especificação de colunas contendo expressões
- select()
- ->from(array('p' => 'products'),
- array('product_id', 'LOWER(product_name)'));
-
-// Build this query:
-// SELECT p."product_id", (p.cost * 1.08) AS cost_plus_tax
-// FROM "products" AS p
-
-$select = $db->select()
- ->from(array('p' => 'products'),
- array('product_id', 'cost_plus_tax' => '(p.cost * 1.08)'));
-
-// Build this query using Zend_Db_Expr explicitly:
-// SELECT p."product_id", p.cost * 1.08 AS cost_plus_tax
-// FROM "products" AS p
-
-$select = $db->select()
- ->from(array('p' => 'products'),
- array('product_id', 'cost_plus_tax' => new Zend_Db_Expr('p.cost * 1.08')));]]>
-
-
-
- Nos casos acima, Zend_Db_Select não altera a string
- para colocar os nomes de correlação ou aspas. Se as
- mudanças forem necessárias para evitar alguma ambiguidade,
- você deve fazê-las manualmente na string.
-
-
-
- Se os nomes das colunas são palavras-chave SQL ou possuem
- caracteres especiais, você deve usar o método quoteIdentifier()
- da classe Adapter, e interpolar o resultado na string. O método
- quoteIdentifier() usa aspas no SQL para delimitar o identificador,
- o que deixa claro que ele é um identificador de uma tabela ou coluna e não
- parte da síntaxe SQL.
-
-
-
- Seu código fica mais independente de base de dados se você
- usar o método quoteIdentifier() ao invés de digitar
- as aspas nas strings porque algumas marcas de SGBD Relacionais usam
- símbolos fora do padrão para referenciar identificadores.
- O método quoteIdentifier() é projetado para usar
- os símbolos de referência apropriados de acordo com o tipo de adaptador.
- O método quoteIdentifier() também ignora qualquer
- caracter de referência que aparecer no nome de um identificador.
-
-
-
- Examples of quoting columns in an expression
- select()
- ->from(array('p' => 'products'),
- array('origin' => '(p.' . $db->quoteIdentifier('from') . ' + 10)'));]]>
-
-
-
-
-
-
- Adding Another Table to the Query with JOIN
-
-
- Many useful queries involve using a JOIN
- to combine rows from multiple tables. You can add
- tables to a Zend_Db_Select query using the
- join() method. Using this method is
- similar to the from() method, except
- you can also specify a join condition in most cases.
-
-
-
- Example of the join() method
- select()
- ->from(array('p' => 'products'),
- array('product_id', 'product_name'))
- ->join(array('l' => 'line_items'),
- 'p.product_id = l.product_id');]]>
-
-
-
- The second argument to join() is a string
- that is the join condition. This is an expression that
- declares the criteria by which rows in one table match
- rows in the the other table. You can use correlation
- names in this expression.
-
-
-
-
- No quoting is applied to the expression you specify
- for the join condition; if you have column names that need
- to be quoted, you must use quoteIdentifier()
- as you form the string for the join condition.
-
-
-
-
- The third argument to join() is an array
- of column names, like that used in the from()
- method. It defaults to "*", supports correlation
- names, expressions, and Zend_Db_Expr in the same way as the
- array of column names in the from() method.
-
-
-
- To select no columns from a table, use an empty array for
- the list of columns. This usage works in the
- from() method too, but typically you want
- some columns from the primary table in your queries,
- whereas you might want no columns from a joined table.
-
-
-
- Example of specifying no columns
- select()
- ->from(array('p' => 'products'),
- array('product_id', 'product_name'))
- ->join(array('l' => 'line_items'),
- 'p.product_id = l.product_id',
- array() ); // empty list of columns]]>
-
- Note the empty array() in the above example
- in place of a list of columns from the joined table.
-
-
-
-
- SQL has several types of joins.
- See the list below for the methods to support
- different join types in Zend_Db_Select.
-
-
-
-
-
- INNER JOIN with the
- join(table, join, [columns])
- or joinInner(table, join, [columns]) methods.
-
-
- This may be the most common type of join. Rows from
- each table are compared using the join condition you
- specify. The result set includes only the rows that
- satisfy the join condition. The result set can be
- empty if no rows satisfy this condition.
-
-
- All RDBMS brands support this join type.
-
-
-
-
- LEFT JOIN with the
- joinLeft(table, condition, [columns]) method.
-
-
- All rows from the left operand table are included,
- matching rows from the right operand table included,
- and the columns from the right operand table are filled
- with NULLs if no row exists matching the left table.
-
-
- All RDBMS brands support this join type.
-
-
-
-
- RIGHT JOIN with the
- joinRight(table, condition, [columns]) method.
-
-
- Right outer join is the complement of left outer join.
- All rows from the right operand table are included,
- matching rows from the left operand table included,
- and the columns from the left operand table are filled
- with NULLs if no row exists matching the right table.
-
-
- Some RDBMS brands don't support this join type, but
- in general any right join can be represented as a left
- join by reversing the order of the tables.
-
-
-
-
- FULL JOIN with the
- joinFull(table, condition, [columns]) method.
-
-
- A full outer join is like combining a left outer join
- and a right outer join. All rows from both tables are
- included, paired with each other on the same row of the
- result set if they satisfy the join condition, and
- otherwise paired with NULLs in place of columns from the
- other table.
-
-
- Some RDBMS brands don't support this join type.
-
-
-
-
- CROSS JOIN with the
- joinCross(table, [columns]) method.
-
-
- A cross join is a Cartesian product.
- Every row in the first table is matched to every
- row in the second table. Therefore the number of
- rows in the result set is equal to the product of
- the number of rows in each table. You can filter
- the result set using conditions in a WHERE clause;
- in this way a cross join is similar to the old SQL-89
- join syntax.
-
-
- The joinCross() method has no parameter
- to specify the join condition.
- Some RDBMS brands don't support this join type.
-
-
-
-
- NATURAL JOIN with the
- joinNatural(table, [columns]) method.
-
-
- A natural join compares any column(s) that appear with
- the same name in both tables. The comparison is
- equality of all the column(s); comparing the columns
- using inequality is not a natural join.
- Only natural inner joins are supported by this API,
- even though SQL permits natural outer joins as well.
-
-
- The joinNatural() method has no parameter
- to specify the join condition.
-
-
-
-
-
-
-
-
- Adding a WHERE Clause
-
-
- You can specify criteria for restricting rows of the result set
- using the where() method. The first argument of
- this method is a SQL expression, and this expression is used
- in a SQL WHERE clause in the query.
-
-
-
- Example of the where() method
- 100.00
-
-$select = $db->select()
- ->from(
- 'products',
- array('product_id', 'product_name', 'price'))
- ->where('price > 100.00');]]>
-
-
-
-
- No quoting is applied to expressions given to the
- where() or orWhere() methods.
- If you have column names that need to be quoted, you must use
- quoteIdentifier() as you form the string for the
- condition.
-
-
-
-
- The second argument to the where() method is
- optional. It is a value to substitute into the expression.
- Zend_Db_Select quotes the value and substitutes it for a
- question-mark ("?") symbol in the expression.
-
-
-
- This method accepts only one parameter.
- If you have an expression into which you need to substitute
- multiple variables, you must format the string manually,
- interpolating variables and performing quoting yourself.
-
-
-
- Example of a parameter in the where() method
- 100.00)
-
-$minimumPrice = 100;
-
-$select = $db->select()
- ->from(
- 'products',
- array('product_id', 'product_name', 'price'))
- ->where('price > ?', $minimumPrice);]]>
-
-
-
- You can invoke the where() method multiple times
- on the same Zend_Db_Select object. The resulting query combines
- the multiple terms together using AND between them.
-
-
-
- Example of multiple where() methods
- 100.00)
-// AND (price < 500.00)
-
-$minimumPrice = 100;
-$maximumPrice = 500;
-
-$select = $db->select()
- ->from('products',
- array('product_id', 'product_name', 'price'))
- ->where('price > ?', $minimumPrice)
- ->where('price < ?', $maximumPrice);]]>
-
-
-
- If you need to combine terms together using OR,
- use the orWhere() method. This method is used
- in the same way as the where() method, except
- that the term specified is preceded by OR,
- instead of AND.
-
-
-
- Example of the orWhere() method
- 500.00)
-
-$minimumPrice = 100;
-$maximumPrice = 500;
-
-$select = $db->select()
- ->from('products',
- array('product_id', 'product_name', 'price'))
- ->where('price < ?', $minimumPrice)
- ->orWhere('price > ?', $maximumPrice);]]>
-
-
-
- Zend_Db_Select automatically puts parentheses around each
- expression you specify using the where() or
- orWhere() methods. This helps to ensure that
- Boolean operator precedence does not cause unexpected
- results.
-
-
-
- Example of parenthesizing Boolean expressions
- 500.00)
-// AND (product_name = 'Apple')
-
-$minimumPrice = 100;
-$maximumPrice = 500;
-$prod = 'Apple';
-
-$select = $db->select()
- ->from('products',
- array('product_id', 'product_name', 'price'))
- ->where("price < $minimumPrice OR price > $maximumPrice")
- ->where('product_name = ?', $prod);]]>
-
-
-
- In the example above, the results would be quite different
- without the parentheses, because AND has higher
- precedence than OR. Zend_Db_Select applies the
- parentheses so the effect is that each expression in successive
- calls to the where() bind more tightly than the
- AND that combines the expressions.
-
-
-
-
-
-
- Adding a GROUP BY Clause
-
-
- In SQL, the GROUP BY clause allows you
- to reduce the rows of a query result set to one row per
- unique value found in the column(s) named in the
- GROUP BY clause.
-
-
-
- In Zend_Db_Select, you can specify the column(s) to use
- for calculating the groups of rows using the
- group() method. The argument to this
- method is a column or an array of columns to use in
- the GROUP BY clause.
-
-
-
- Example of the group() method
- select()
- ->from(array('p' => 'products'),
- array('product_id'))
- ->join(array('l' => 'line_items'),
- 'p.product_id = l.product_id',
- array('line_items_per_product' => 'COUNT(*)'))
- ->group('p.product_id');]]>
-
-
-
- Like the columns array in the from() method, you
- can use correlation names in the column name strings, and the
- column is quoted as an identifier unless the string contains
- parentheses or is an object of type Zend_Db_Expr.
-
-
-
-
-
-
- Adding a HAVING Clause
-
-
- In SQL, the HAVING clause applies a restriction
- condition on groups of rows. This is similar to how a
- WHERE clause applies a restriction condition on rows.
- But the two clauses are different because WHERE
- conditions are applied before groups are defined, whereas
- HAVING conditions are applied after groups are
- defined.
-
-
-
- In Zend_Db_Select, you can specify conditions for restricting
- groups using the having() method. Its usage is
- similar to that of the where() method.
- The first argument is a string containing a SQL expression.
- The optional second argument is a value that is used to replace
- a positional parameter placeholder in the SQL expression.
- Expressions given in multiple invocations of the
- having() method are combined using the Boolean
- AND operator, or the OR operator if
- you use the orHaving() method.
-
-
-
- Example of the having() method
- 10
-
-$select = $db->select()
- ->from(array('p' => 'products'),
- array('product_id'))
- ->join(array('l' => 'line_items'),
- 'p.product_id = l.product_id',
- array('line_items_per_product' => 'COUNT(*)'))
- ->group('p.product_id')
- ->having('line_items_per_product > 10');]]>
-
-
-
-
- No quoting is applied to expressions given to the
- having() or orHaving() methods.
- If you have column names that need to be quoted, you must use
- quoteIdentifier() as you form the string for the
- condition.
-
-
-
-
-
-
-
- Adding an ORDER BY Clause
-
-
- In SQL, the ORDER BY clause specifies one or more
- columns or expressions by which the result set of a query is
- sorted. If multiple columns are listed, the secondary columns
- are used to resolve ties; the sort order is determined by the
- secondary columns if the preceding columns contain identical
- values. The default sorting is from least value to greatest
- value. You can also sort by greatest value to least value for
- a given column in the list by specifying the keyword
- DESC after that column.
-
-
-
- In Zend_Db_Select, you can use the order() method
- to specify a column or an array of columns by which to sort.
- Each element of the array is a string naming a column.
- optionally with the ASCDESC keyword
- following it, separated by a space.
-
-
-
- Like in the from() and group()
- methods, column names are quoted as identifiers, unless they
- contain contain parentheses or are an object of type
- Zend_Db_Expr.
-
-
-
- Example of the order() method
- select()
- ->from(array('p' => 'products'),
- array('product_id'))
- ->join(array('l' => 'line_items'),
- 'p.product_id = l.product_id',
- array('line_items_per_product' => 'COUNT(*)'))
- ->group('p.product_id')
- ->order(array('line_items_per_product DESC', 'product_id'));]]>
-
-
-
-
-
-
- Adding a LIMIT Clause
-
-
- Some RDBMS brands extend SQL with a query clause known as the
- LIMIT clause. This clause reduces the number of
- rows in the result set to at most a number you specify.
- You can also specify to skip a number of rows before starting
- to output.
- This feature makes it easy to take a subset of a result set,
- for example when displaying query results on progressive pages
- of output.
-
-
-
- In Zend_Db_Select, you can use the limit() method
- to specify the count of rows and the number of rows to skip.
- The first argument to this method is the desired count of rows.
- The second argument is the number of rows to skip.
-
-
-
- Example of the limit() method
- select()
- ->from(array('p' => 'products'), array('product_id', 'product_name'))
- ->limit(10, 20);]]>
-
-
-
-
- The LIMIT syntax is not supported by all RDBMS
- brands. Some RDBMS require different syntax to support
- similar functionality. Each Zend_Db_Adapter_Abstract class
- includes a method to produce SQL appropriate for that RDBMS.
-
-
-
-
- Use the limitPage() method for an alternative way
- to specify row count and offset. This method allows you to
- limit the result set to one of a series of fixed-length subsets
- of rows from the query's total result set. In other words, you
- specify the length of a "page" of results, and the ordinal
- number of the single page of results you want the query to return.
- The page number is the first argument of the
- limitPage() method, and the page length is the
- second argument. Both arguments are required; they have no
- default values.
-
-
-
- Example of the limitPage() method
- select()
- ->from(array('p' => 'products'), array('product_id', 'product_name'))
- ->limitPage(2, 10);]]>
-
-
-
-
-
-
- Adding the DISTINCT Query Modifier
-
-
- The distinct() method enables you to add the
- DISTINCT keyword to your SQL query.
-
-
-
- Example of the distinct() method
- select()
- ->distinct()
- ->from(array('p' => 'products'), 'product_name');]]>
-
-
-
-
-
-
- Adding the FOR UPDATE Query Modifier
-
-
- The forUpdate() method enables you to add the
- FOR UPDATE modifier to your SQL query.
-
-
-
- Example of forUpdate() method
- select()
- ->forUpdate()
- ->from(array('p' => 'products'));]]>
-
-
-
-
-
-
-
-
- Executing Select Queries
-
-
- This section describes how to execute the query represented by a
- Zend_Db_Select object.
-
-
-
-
- Executing Select Queries from the Db Adapter
-
-
- You can execute the query represented by the Zend_Db_Select
- object by passing it as the first argument to the
- query() method of a Zend_Db_Adapter_Abstract
- object. Use the Zend_Db_Select objects instead of a string
- query.
-
-
-
- The query() method returns an object of type
- Zend_Db_Statement or PDOStatement, depending on the adapter type.
-
-
-
- Example using the Db adapter's query() method
- select()
- ->from('products');
-
-$stmt = $db->query($select);
-$result = $stmt->fetchAll();]]>
-
-
-
-
-
-
- Executing Select Queries from the Object
-
-
- As an alternative to using the query() method
- of the adapter object, you can use the query()
- method of the Zend_Db_Select object.
- Both methods return an object of type Zend_Db_Statement or
- PDOStatement, depending on the adapter type.
-
-
-
- Example using the Select object's query method
- select()
- ->from('products');
-
-$stmt = $select->query();
-$result = $stmt->fetchAll();]]>
-
-
-
-
-
-
- Converting a Select Object to a SQL String
-
-
- If you need access to a string representation of the SQL
- query corresponding to the Zend_Db_Select object, use
- the __toString() method.
-
-
-
- Example of the __toString() method
- select()
- ->from('products');
-
-$sql = $select->__toString();
-echo "$sql\n";
-
-// The output is the string:
-// SELECT * FROM "products"]]>
-
-
-
-
-
-
-
-
- Other methods
-
-
- This section describes other methods of the Zend_Db_Select class
- that are not covered above: getPart() and
- reset().
-
-
-
-
- Retrieving Parts of the Select Object
-
-
- The getPart() method returns a representation
- of one part of your SQL query. For example, you can use this
- method to return the array of expressions for the
- WHERE clause, or the array of columns
- (or column expressions) that are in the SELECT
- list, or the values of the count and offset for the
- LIMIT clause.
-
-
-
- The return value is not a string containing a fragment of SQL
- syntax. The return value is an internal representation, which
- is typically an array structure containing values and
- expressions. Each part of the query has a different structure.
-
-
-
- The single argument to the getPart() method is
- a string that identifies which part of the Select query to
- return. For example, the string 'from'
- identifies the part of the Select object that stores
- information about the tables in the FROM clause,
- including joined tables.
-
-
-
- The Zend_Db_Select class defines constants you can use for
- parts of the SQL query. You can use these constant definitions,
- or you can the literal strings.
-
-
-
-
-
- Example of the getPart() method
- select()
- ->from('products')
- ->order('product_id');
-
-// You can use a string literal to specify the part
-$orderData = $select->getPart( 'order' );
-
-// You can use a constant to specify the same part
-$orderData = $select->getPart( Zend_Db_Select::ORDER );
-
-// The return value may be an array structure, not a string.
-// Each part has a different structure.
-print_r( $orderData );]]>
-
-
-
-
-
-
- Resetting Parts of the Select Object
-
-
- The reset() method enables you to clear one
- specified part of the SQL query, or else clear all parts of
- the SQL query if you omit the argument.
-
-
-
- The single argument is optional. You can specify the part
- of the query to clear, using the same strings you used in
- the argument to the getPart() method.
- The part of the query you specify is reset to a default state.
-
-
-
- If you omit the parameter, reset() changes all
- parts of the query to their default state. This makes the
- Zend_Db_Select object equivalent to a new object, as though you
- had just instantiated it.
-
-
-
- Example of the reset() method
- select()
- ->from(array('p' => 'products')
- ->order('product_name');
-
-// Changed requirement, instead order by a different columns:
-// SELECT p.*
-// FROM "products" AS p
-// ORDER BY "product_id"
-
-// Clear one part so we can redefine it
-$select->reset( Zend_Db_Select::ORDER );
-
-// And specify a different column
-$select->order('product_id');
-
-// Clear all parts of the query
-$select->reset();]]>
-
-
-
-
-
-
-
-
diff --git a/documentation/manual/pt-br/module_specs/Zend_Service_Amazon.xml b/documentation/manual/pt-br/module_specs/Zend_Service_Amazon.xml
deleted file mode 100644
index 5f7714a3853..00000000000
--- a/documentation/manual/pt-br/module_specs/Zend_Service_Amazon.xml
+++ /dev/null
@@ -1,1076 +0,0 @@
-
-
- Zend_Service_Amazon
-
-
- Introdução
-
- Zend_Service_Amazon é uma simples API para utilização
- dos web services do Amazon. Zend_Service_Amazon possui duas
- APIs: uma mais tradicional que segue o padrão da própria Amazon API, e uma
- simples API de consultas para facilitar a construção de pesquisas mais
- complexas.
-
- Zend_Service_Amazon dá aos desenvolvedores a capacidade
- de recuperar informações como se estivessem accessando os sites Amazon.com
- diretamente através da Amazon Web Services API. Exemplos incluídos:
-
-
-
- Armazenar informações de ítens, como imagens, descrições, preços, entre outros.
-
-
-
-
- Revisões editoriais e por parte do cliente.
-
-
-
-
- Produtos similares e acessórios.
-
-
-
-
- Ofertas do Amazon.com.
-
-
-
-
- Listas do tipo ListMania.
-
-
-
-
- Para usar o Zend_Service_Amazon, você deve possuir uma
- chave de desenvolvedor para acessar a Amazon API. Para obter uma chave e
- outras informações, por favor visite o web site Amazon Web
- Services.
-
-
- Attention
-
- Sua chave de desenvolvedor Amazon API está ligada à sua identificação Amazon, então, tome medidas de segurança apropriadas para garantir a privacidade de sua chave.
-
-
-
-
- Busca no Amazon usando a API tradicional
-
- Neste exemplo, pesquisamos por livros de PHP no Amazon, executando
- um laço para imprimir os resultados.
-
- <?php
-require_once 'Zend/Service/Amazon.php';
-$amazon = new Zend_Service_Amazon('AMAZON_API_KEY&');
-$response = $amazon->itemSearch(array('SearchIndex' => 'Books', 'Keywords' => 'php'));
-foreach ($response as $r) {
- echo $r->Title .'<br />';
-}
-?>
-
-
-
- Busca no Amazon usando a Query API
-
- Aqui, nós pesquisamos por livros de PHP no Amazon, mas usando a
- API de consulta, que implementa o padrão de projeto "Fluent
- Interface".
-
- <?php
-require_once 'Zend/Service/Amazon/Query.php';
-$query = new Zend_Service_Amazon_Query('AMAZON_API_KEY');
-$query->category('Books')->Keywords('PHP');
-$results = $query->search();
-foreach ($results as $result) {
- echo $result->Title .'<br />';
-}
-?>
-
-
-
-
- Códigos de Países
-
- Por padrão, Zend_Service_Amazon conecta ao web service
- do Amazon localizado nos Estado Unidos ("US"). Para
- conectar-se a um país diferente, simplesmente especifique a respectiva
- string de código de país como segundo parâmetro para o construtor:
-
-
- Selecionando o Amazon Web Service de um país
-
- <?php
-// Connect to Amazon in Japan
-require_once 'Zend/Service/Amazon.php';
-$amazon = new Zend_Service_Amazon('AMAZON_API_KEY', 'JP');
-?>
-
-
-
-
- Country codes
-
- Códigos válidos podem ser: CA, DE,
- FR, JP, UK, e
- US.
-
-
-
-
-
- Procurando por um ítem específico do Amazon com o código
- ASIN
-
- O método itemLookup() oferece a capacidade de procurar
- por um ítem em particular quando o código ASIN é conhecido.
-
-
- Procurando por um ítem específico no Amazon usando ASIN
-
- <?php
-require_once 'Zend/Service/Amazon.php';
-$amazon = new Zend_Service_Amazon('AMAZON_API_KEY');
-$item = $amazon->itemLookup('B0000A432X');
-?>
-
-
- O método itemLookup() também aceita um segundo parâmetro opcional para lidar com as opções de busca. Para maiores detalhes, incluíndo uma lista de opções disponíveis, por favor consulte a respectiva documentação do Amazon
- .
-
-
-
- Executando pesquisas de ítens no Amazon
-
- Efetuar buscas de ítens, baseando-se em um dos vários critérios de busca disponíveis, são tarefas simples se empregado o método itemSearch(), como mostrado no exemplo seguinte:
-
-
- Efetuando buscas de ítens no Amazon
-
- <?php
-require_once 'Zend/Service/Amazon.php';
-$amazon = new Zend_Service_Amazon('AMAZON_API_KEY');
-$response = $amazon->itemSearch(array('SearchIndex' => 'Books', 'Keywords' => 'php'));
-foreach($response as $r) {
- echo $r->Title .'<br />';
-}
-?>
-
-
- O método itemSearch() aceita um simples array de parâmetros para lidar com as opções de busca. Para mais detalhes, incluíndo uma lista de opções disponíveis, consulte a respectiva
- documentação do Amazon
-
-
- A classe
-
-
- Zend_Service_Amazon_Query
-
-
- é um meio fácil de usar um encapsulamento deste método.
-
-
-
- Usando a Query API Alternativa
-
-
- Introdução
-
- Zend_Service_Amazon_Query oferece uma API alternativa
- para utilizar o Amazon Web Service. A API alternetiva utiliza o padrão de
- projeto "Fluent Interface". Ou seja, todas as chamadas são feitas usando
- métodos encadeados (ex:
- $obj->method()->method2($arg))
-
- A API Zend_Service_Amazon_Query usa sobrecarga para
- facilitar a definição dos ítens de busca, permitindo buscas baseadas nos
- critérios especificados. Cada uma das opções é implementada como uma
- chamada a método, e cada argumento respectivo, corresponde ao nome da
- opção:
-
-
- Pesquisando o Amazon usando a Query API Alternativa
-
- Neste exemplo, a Query API alternativa é usada como uma interface
- "fluente" para especificar opções e seus respectivos valores:
-
- <?php
-require_once 'Zend/Service/Amazon/Query.php';
-$query = new Zend_Service_Amazon_Query('MY_API_KEY');
-$query->Category('Books')->Keywords('PHP');
-$results = $query->search();
-foreach ($results as $result) {
- echo $result->Title .'<br />';
-}
-?>
-
- Isto atribui à opção Category o valor "Books" e à
- opção Keywords o valor "PHP".
-
- Para mais informações e opções disponíveis, consulte a documentação
- do Amazon específica ao assunto.
-
-
-
-
- Classes Zend_Service_Amazon
-
- As classes abaixo listadas são retornadas pelos métodos Zend_Service_Amazon::itemLookup()
- e Zend_Service_Amazon::itemSearch():
-
-
- Zend_Service_Amazon_Item
-
-
-
- Zend_Service_Amazon_Image
-
-
-
- Zend_Service_Amazon_ResultSet
-
-
-
- Zend_Service_Amazon_OfferSet
-
-
-
- Zend_Service_Amazon_Offer
-
-
-
- Zend_Service_Amazon_SimilarProduct
-
-
-
- Zend_Service_Amazon_Accessories
-
-
-
- Zend_Service_Amazon_CustomerReview
-
-
-
- Zend_Service_Amazon_EditorialReview
-
-
-
- Zend_Service_Amazon_ListMania
-
-
-
-
- Zend_Service_Amazon_Item
-
- Zend_Service_Amazon_Item é uma classe usada para
- representar um ítem do Amazon retornado pelo web service. Ele abrange
- todos os atributos dos ítens, incluíndo título, descrição, críticas,
- etc.
-
-
- Zend_Service_Amazon_Item::asXML()
-
-
-
- string
-
- asXML
-
-
-
-
-
- Retorna o XML original para o ítem pesquisado.
-
-
-
- Propriedades
-
- Zend_Service_Amazon_Item possui algumas propriedades
- que estão diretamente relacionadas com suas similares na API padrão do
- Amazon API.
-
-
- Propriedade de Zend_Service_Amazon_Item
-
-
-
-
- Nome
-
- Tipo
-
- Descrição
-
-
-
-
-
- ASIN
-
- string
-
- ID do ítem
-
-
-
- DetailPageURL
-
- string
-
- URL para a página de detalhes do ítem
-
-
-
- SalesRank
-
- string
-
- Pontuação de vendas para o ítem
-
-
-
- SmallImage
-
- Zend_Service_Amazon_Image
-
- Imagem reduzida para o ítem
-
-
-
- MediumImage
-
- Zend_Service_Amazon_Image
-
- Imagem de tamanho médio para o ítem
-
-
-
- LargeImage
-
- Zend_Service_Amazon_Image
-
- Imagem grande para o ítem
-
-
-
- Subjects
-
- array
-
- Assunto do ítem
-
-
-
- Offers
-
-
-
- Zend_Service_Amazon_OfferSet
-
-
-
- Resumo de ofertas e Ofertas para o ítem
-
-
-
- CustomerReviews
-
- array
-
- Criticas dos clientes representadas como um array de
- objetos
- Zend_Service_Amazon_CustomerReview
-
-
-
-
- EditorialReviews
-
- array
-
- Críticas editoriais representadas como um array de
- objetos
- Zend_Service_Amazon_EditorialReview
-
-
-
-
- SimilarProducts
-
- array
-
- Produtos similares representados como um array de objetos
-
- Zend_Service_Amazon_SimilarProduct
-
-
-
-
- Accessories
-
- array
-
- Acessórios para o ítem representadas como um array de
- objetos
- Zend_Service_Amazon_Accessories
-
-
-
-
- Tracks
-
- array
-
- Um array de números de trilhas e nomes para DVDs e CDs de
- música
-
-
-
- ListmaniaLists
-
- array
-
- Ítem relacionada à lista Listmania como um array de
- objetos
- Zend_Service_Amazon_ListmainList
-
-
-
-
- PromotionalTag
-
- string
-
- Tag de ítem promocional
-
-
-
-
-
- Retornar para a Lista de
- Classes
-
-
-
-
-
- Zend_Service_Amazon_Image
-
- Zend_Service_Amazon_Image representa uma imagem remota
- de um produto.
-
-
- Propriedades
-
-
- Propriedades de Zend_Service_Amazon_Image
-
-
-
-
- Nome
-
- Tipo
-
- Descrição
-
-
-
-
-
- Url
-
- string
-
- URL remota para a imagem
-
-
-
- Height
-
- int
-
- Altura da imagem em pixels
-
-
-
- Width
-
- int
-
- Largura da imagem em pixels
-
-
-
-
-
- Retornar para a Lista de
- Classes
-
-
-
-
-
- Zend_Service_Amazon_ResultSet
-
- Objetos Zend_Service_Amazon_ResultSet saõ retornados
- por Zend_Service_Amazon::itemSearch()
- e permitem a você manusear facilmente os múltiplos resultados
- retornados.
-
-
- Image information
-
- Implemente o SeekableIterator para fácil iteração
- (ex: usando foreach), bem como, acesso direto a uma string
- específica de resultados usando seek().
-
-
-
-
- Zend_Service_Amazon_ResultSet::totalResults()
-
-
- int
-
- totalResults
-
-
-
-
- Número total de resultados retornados pela pesquisa
-
- Retornar para a Lista de
- Classes
-
-
-
-
-
- Zend_Service_Amazon_OfferSet
-
- Cada resultado retornado por Zend_Service_Amazon::itemSearch()
- e Zend_Service_Amazon::itemLookup()
- contém um objeto Zend_Service_Amazon_OfferSet através do qual
- o preço do ítem pode ser recuperado.
-
-
- Propriedades
-
-
- Propriedades de Zend_Service_Amazon_OfferSet
-
-
-
-
- Nome
-
- Tipo
-
- Descrição
-
-
-
-
-
- LowestNewPrice
-
- int
-
- Menor preço para o ítem na condição de NOVO
-
-
-
- LowestNewPriceCurrency
-
- string
-
- A moeda em que está expresso o
- LowestNewPrice
-
-
-
- LowestOldPrice
-
- int
-
- Menor preço para o ítem na condição de USADO
-
-
-
- LowestOldPriceCurrency
-
- string
-
- A moeda em que está expresso o
- LowestOldPrice
-
-
-
- TotalNew
-
- int
-
- Total de ítens "Novos" disponíveis
-
-
-
- TotalUsed
-
- int
-
- Total de ítens "Usados" disponíveis
-
-
-
- TotalCollectible
-
- int
-
- Total de ítens "colecionáveis" disponíveis
-
-
-
- TotalRefurbished
-
- int
-
- Total de ítens "refurbished" disponíveis
-
-
-
- Offers
-
- array
-
- Um array de objetos
- Zend_Service_Amazon_Offer.
-
-
-
-
-
- Retornar para a Lista de
- Classes
-
-
-
-
-
- Zend_Service_Amazon_Offer
-
- As ofertas para um dado ítem, são retornadas como objetos
- Zend_Service_Amazon_Offer.
-
-
- Propriedades de Zend_Service_Amazon_Offer
-
- Propriedades
-
-
-
-
- Name
-
- Type
-
- Description
-
-
-
-
-
- MerchantId
-
- string
-
- ID Amazon para fornecedores
-
-
-
- GlancePage
-
- string
-
- URL para uma página contendo um resumo do
- fornecedor.
-
-
-
- Condition
-
- string
-
- Condição do ítem
-
-
-
- OfferListingId
-
- string
-
- ID da listagem de Ofertas
-
-
-
- Price
-
- int
-
- Preço do ítem
-
-
-
- CurrencyCode
-
- string
-
- Código de moeda para o preço do ítem
-
-
-
- Availability
-
- string
-
- Disponibilidade do ítem
-
-
-
- IsEligibleForSuperSaverShipping
-
- boolean
-
- Informa se o ítem é elegível para remessa super econômica
- ou não
-
-
-
-
-
- Retornar para a Lista de
- Classes
-
-
-
-
-
- Zend_Service_Amazon_SimilarProduct
-
- Ao executar uma busca por ítens, O Amazon também retorna uma lista
- de produtos similares que podem ser localizados ao seu gosto. Cada um
- deles é retornado como um objeto
- Zend_Service_Amazon_SimilarProduct.
-
- Cada objeto contém a informação necessária para que as requisições
- subsequentes recuperem informações detalhadas sobre o ítem.
-
-
- Propriedades
-
-
- Propriedades de Zend_Service_Amazon_SimilarProduct
-
-
-
-
- Name
-
- Type
-
- Description
-
-
-
-
-
- ASIN
-
- string
-
- Identificador único do produto no Amazon (ASIN)
-
-
-
- Title
-
- string
-
- Título do Produto
-
-
-
-
-
- Retornar para a Lista de
- Classes
-
-
-
-
-
- Zend_Service_Amazon_Accessories
-
- Acessórios para o ítem retornado, são representados como objetos
- Zend_Service_Amazon_Accessories
-
-
- Propriedades
-
-
- Zend_Service_Amazon_Accessories Properties
-
-
-
-
- Name
-
- Type
-
- Description
-
-
-
-
-
- ASIN
-
- string
-
- Identificador único do produto no Amazon (ASIN)
-
-
-
- Title
-
- string
-
- Título do Produto
-
-
-
-
-
- Retornar para a Lista de
- Classes
-
-
-
-
-
- Zend_Service_Amazon_CustomerReview
-
- Cada crítica feita pelo cliente é retornada como um objeto
- Zend_Service_Amazon_CustomerReview.
-
-
- Propriedades
-
-
- Propriedades de Zend_Service_Amazon_CustomerReview
-
-
-
-
- Name
-
- Type
-
- Description
-
-
-
-
-
- Rating
-
- string
-
- Cotação do ítem
-
-
-
- HelpfulVotes
-
- string
-
- Votos na "utilidade" da crítica emitida
-
-
-
- CustomerId
-
- string
-
- ID do Cliente
-
-
-
- TotalVotes
-
- string
-
- Total de votos
-
-
-
- Date
-
- string
-
- Data
-
-
-
- Summary
-
- string
-
- Resumo
-
-
-
- Content
-
- string
-
- Conteúdo
-
-
-
-
-
- Retornar para a Lista de
- Classes
-
-
-
-
-
- Zend_Service_Amazon_EditorialReview
-
- As críticas editoriais são retornadoas como objetos
- Zend_Service_Amazon_EditorialReview
-
-
- Propriedades
-
-
-
- Retornar para a Lista de
- Classes
-
-
-
-
-
- Zend_Service_Amazon_Listmania
-
- Os ítens da lista List Mania são retornados como objetos
- Zend_Service_Amazon_Listmania.
-
-
- Propriedades
-
-
- Propriedades de Zend_Service_Amazon_Listmania
-
-
-
-
- Name
-
- Type
-
- Description
-
-
-
-
-
- ListId
-
- string
-
- List ID
-
-
-
- ListName
-
- string
-
- List Name
-
-
-
-
-
- Retornar para a Lista de
- Classes
-
-
-
-
-
-
diff --git a/documentation/manual/pt-br/module_specs/Zend_Service_Flickr.xml b/documentation/manual/pt-br/module_specs/Zend_Service_Flickr.xml
deleted file mode 100644
index 37f1e7e2acb..00000000000
--- a/documentation/manual/pt-br/module_specs/Zend_Service_Flickr.xml
+++ /dev/null
@@ -1,497 +0,0 @@
-
- Zend_Service_Flickr
-
-
- Introdução às Pesquisas Flickr
-
- Zend_Service_Flickr é uma simples API para usar o
- Flickr REST Web Service. Para poder usar os Flickr web services, você deve
- possuir uma API key. Para obter uma chave e maiores informações sobre o
- Flickr REST Web Service, visite a Flickr API
- Documentation.
-
- No exemplo seguinte, nós usamos o método tagSearch()
- para pesquisar por fotos que tenham o valor "php" nas tags.
-
-
- Simples pesquisa por fotos Flickr
-
- <?php
-require_once 'Zend/Service/Flickr.php';
-
-$flickr = new Zend_Service_Flickr('MY_API_KEY');
-
-$results = $flickr->tagSearch("php");
-
-foreach ($results as $result) {
- echo $result->title . '<br />';
-}
-?>
-
-
-
- tagSearch()
- aceita um array de opções como segundo parâmetro opcional.
-
-
-
-
- Localizando Usuários Flickr
-
- Zend_Service_Flickr fornece três caminhos variados para
- obter informações sobre usuários Flickr:
-
-
-
-
- userSearch()
- : Aceita uma string de busca com tags delimitadas por espaços e um array de opções como segundo parâmetro opcional, retornando um objeto
- Zend_Service_Flickr_ResultSet.
-
-
-
-
- getIdByUsername()
- : Retorna um user ID associado ao nome de usuário informado.
-
-
-
-
- getIdByEmail()
- : Retorna um user ID associado ao endereço de email informado.
-
-
-
-
-
- Localizando um usuário Flickr pelo endereço de E-Mail
-
- Neste exemplo, nós temos um endereço de email de um usuário do
- Flickr, e usamos o método userSearch() para recuperar
- informações do usuário:
-
- <?php
-require_once 'Zend/Service/Flickr.php';
-
-$flickr = new Zend_Service_Flickr('MY_API_KEY');
-
-$results = $flickr->userSearch($userEmail);
-
-foreach ($results as $result) {
- echo $result->title . '<br />';
-}
-?>
-
-
-
-
-
-
- Recuperando Detalhes de Imagens Flickr Image Details
-
-
-
-
- Zend_Service_Flickr
-
- torna fácil e rápida a recuperação de detalhes de imagens baseada em um dado "image ID". Basta usar o método
-
- getImageDetails()
-
- , como mostrado no exemplo seguinte:
-
-
-
- Recuperando Flickr Image Details
-
- Desde que você conheça o Flickr image ID, recuperar informações
- sobre a imagem é tarefa simples:
-
- <?php
-require_once 'Zend/Service/Flickr.php';
-
-$flickr = new Zend_Service_Flickr('MY_API_KEY');
-
-$image = $flickr->getImageDetails($imageId);
-
-echo "Image ID $imageId is $image->width x $image->height pixels.<br />\n";
-echo "<a href=\"$image->clickUri\">Click for Image</a>\n";
-?>
-
-
-
-
-
-
- Classes Zend_Service_Flickr
-
- As seguintes classes são todas retornadas por tagSearch()
- e userSearch():
-
- Zend_Service_Flickr_ResultSet
-
-
-
- Zend_Service_Flickr_Result
-
-
-
- Zend_Service_Flickr_Image
-
-
-
-
- Zend_Service_Flickr_ResultSet
-
- Representa um conjunto de resultados de uma pesquisa Flickr.
-
-
- Implemente o SeekableIterator para facilitar a
- iteração (ex: usando foreach ), como também o acesso direto
- a um resultado específico usando seek() .
-
-
-
- Propriedades
-
-
- Propriedades de Zend_Service_Flickr_ResultSet
-
-
-
-
- Nome
-
- Tipo
-
- Descrição
-
-
-
-
-
- totalResultsAvailable
-
- int
-
- Total de resultados disponível
-
-
-
- totalResultsReturned
-
- int
-
- Total de resultados retornados
-
-
-
- firstResultPosition
-
- int
-
- O deslocamento deste subconjunto de resultados no
- conjunto de resultados total
-
-
-
-
-
-
-
- Zend_Service_Flickr_ResultSet::totalResults()
-
-
-
- int
-
- totalResults
-
-
-
-
-
- Retorna o total de resultados deste conjunto de resultados.
-
- Retornar para a Lista de
- Classes
-
-
-
-
-
- Zend_Service_Flickr_Result
-
- Um simples imagem resultante de uma busca Flickr
-
-
- Propriedades
-
-
- Propriedades de Zend_Service_Flickr_Result
-
-
-
-
- Nome
-
- Tipo
-
- Descrição
-
-
-
-
-
- id
-
- int
-
- ID da imagem
-
-
-
- owner
-
- int
-
- NSID do proprietário da imagem.
-
-
-
- secret
-
- string
-
- Uma chave usada na construção da URL.
-
-
-
- server
-
- string
-
- O nome do servidor usado na construção da URL.
-
-
-
- title
-
- string
-
- O título da foto.
-
-
-
- ispublic
-
- boolean
-
- A foto é pública.
-
-
-
- isfriend
-
- boolean
-
- A foto é visível para você porque você é amigo do
- proprietário.
-
-
-
- isfamily
-
- boolean
-
- A foto é visível para você porque você é parente do
- proprietário.
-
-
-
- license
-
- string
-
- Licença sob qual a foto foi publicada.
-
-
-
- date_upload
-
- string
-
- Data em que a foto foi enviada.
-
-
-
- date_taken
-
- string
-
- Data em que a foto foi produzida.
-
-
-
- owner_name
-
- string
-
- O nome de tela do proprietário.
-
-
-
- icon_server
-
- string
-
- O servidor usado na montagem das URLs dos ícones.
-
-
-
- Square
-
-
- Zend_Service_Flickr_Image
-
-
- Um slide de 75x75 da imagem.
-
-
-
- Thumbnail
-
-
- Zend_Service_Flickr_Image
-
-
- Um slide de 100 pixels da imagem.
-
-
-
- Small
-
-
- Zend_Service_Flickr_Image
-
-
- Um slide de 240 pixels da imagem.
-
-
-
- Medium
-
-
- Zend_Service_Flickr_Image
-
-
- Um slide de 500 pixels da imagem.
-
-
-
- Large
-
-
- Zend_Service_Flickr_Image
-
-
- Um slide de 640 pixels da imagem.
-
-
-
- Original
-
-
- Zend_Service_Flickr_Image
-
-
- A imagem original.
-
-
-
-
-
- Retornar para a Lista de
- Classes
-
-
-
-
-
- Zend_Service_Flickr_Image
-
- Representa uma imagem retornada por uma busca Flickr.
-
-
- Propriedades
-
-
- Propriedades de Zend_Service_Flickr_Image
-
-
-
-
- Nome
-
- Tipo
-
- Descrição
-
-
-
-
-
- uri
-
- string
-
- URI para a imagem original
-
-
-
- clickUri
-
- string
-
- URI clicável (ex. a página Flickr) para a imagem
-
-
-
- width
-
- int
-
- Largura da imagem
-
-
-
- height
-
- int
-
- Altura da imagem
-
-
-
-
-
- Retornar para a Lista de
- Classes
-
-
-
-
-
-
diff --git a/documentation/manual/pt-br/module_specs/Zend_XmlRpc_Client.xml b/documentation/manual/pt-br/module_specs/Zend_XmlRpc_Client.xml
deleted file mode 100644
index 16c60470bd2..00000000000
--- a/documentation/manual/pt-br/module_specs/Zend_XmlRpc_Client.xml
+++ /dev/null
@@ -1,434 +0,0 @@
-
- Zend_XmlRpc_Client
-
-
- Introdução
-
- A forma de utilização do Zend_XmlRpc_Client é muito
- similar a dos objetos SoapClient (extensão SOAP web service). Você
- pode simplesmente chamar os procedimentos de serviço do XML-RPC como
- métodos de Zend_XmlRpc_Client . Especifique o endereço
- completo do serviço para o construtor do
- Zend_XmlRpc_Client.
-
-
- Uma requisição XML-RPC básica
-
- <?php
-/**
- * Connect to framework.zend.com server and an array describing
- * the methods available.
- */
-require_once 'Zend/XmlRpc/Client.php';
-
-$server = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
-
-print_r( $server->system->listMethods() );
-
-?>
-
-
-
-
-
-
- Zend_XmlRpc_Client
-
- tenta, na medida do possível, utilizar métodos remotos como se fossem nativos. Se um método remoto contiver namespaces, como por exemplo
-
- system.listMethods()
-
- , a chamada é feita usando encadeamento de objetos em PHP:
-
- $server->system->listMethods()
-
- .
-
-
-
-
- Usando parâmetros
-
- Alguns procedimentos de serviço XML-RPC requerem parâmetros, os
- parâmetros necessários são passados, como parâmetros, para o método
- Zend_XmlRpc_Client. Os parâmetros do procedimento XML-RPC
- devem ser de tipos de dados específicos ao XML-RPC. Os parâmetros podem
- ser passsados de duas maneiras: tipos nativos do PHP e objetos
- Zend_XmlRpc_Value que representam os tipos XML-RPC.
-
-
- Passando variáveis nativas como parâmetros em PHP
-
- Um parâmetro passado como variável nativa do PHP, pode ser uma
- string, um inteiro, um flutuante, um boleano, um array ou um objeto.
- Neste caso, cada tipo PHP nativo irá ser automaticamente detectado e
- convertido em um tipo XML-RPC, de acordo com a tabela abaixo:
-
-
-
- ...
-/** 2 parameters are passed in this procedure
- * The first parameter is a string that will be auto-converted into an XML-RPC string type
- * The second parameter is an assosiative array that will be converted into an XML-RPC struct
- */
-
-$p1 = 'parameter 1';
-$p2 = array('name' => 'Joe', 'age' => 30);
-
-$service->serviceProcedure($p1, $p2);
-...
-
-
-
-
- Passando objetos Zend_XmlRpc_Value como
- parâmetros
-
- Parameters passados como objetos Zend_XmlRpc_Value.
- Você pode criar uma das instâncias de Zend_XmlRpc_Value
- para especificar o tipo XML-RPC exato dos seus parâmetros. As razões
- principais para especificar explicitamente os tipos XML-RPC são:
-
-
-
- Quando você quer assegurar que o tipo correto do parâmetro seja passado ao procedimento (ex: o procedimento exige um inteiro e você pode receber o parâmetro do array $_GET como string)
-
-
-
-
- Quando o procedimento exige um tipo datetime ou um base64 (que não são tipos nativos do PHP).
-
-
-
-
- Quando a existe a possibilidade da conversão automática falhar (ex: você quer passar uma estrutura XML-RPC vazia como parâmetro. Estruturas vazias são representadas como arrays vazios em PHP, mas, se você fornecer um array vazio como parãmetro ele irá ser automaticamente convertido para um array XML-RPC, desde que não seja um array associativo)
-
-
-
-
- Existem duas maneiras de criar um objeto
- Zend_XmlRpc_Value object: a maneira explícita (chamando o
- construtor do objeto) ou usando a função estática
- Zend_XmlRpc_Value::getXmlRpcValue() que irá requerer uma
- constante XML-RPC.
-
-
-
- ...
-/** 2 parameters are passed to this procedure
- * The first parameter is an XML-RPC base64 type that is created using the static Zend_XmlRpc_Value::getXmlRpcValue() function
- * The second parameter is an XML-RPC strcture that is created explictly
- */
-
-$p1 = ZXmlRpcValue::getXmlRpcValue('encoded string', Zend_XmlRpc_Value::XMLRPC_TYPE_BASE64);
-$p2 = new Zend_XmlRpc_Value_Struct(array('name' => 'Joe', 'age' => 30));
-
-$service->serviceProcedure($p1, $p2);
-...
-
-
-
- O valor do parâmetro é cedido por uma variável PHP mas irá ser convertido para o tipo específico usando as técnicas de conversão do PHP (ex: se uma string é informada como um valor para o objeto
-
- Zend_XmlRpc_Value_Integer
-
- , ele irá ser convertido usando
-
- (int)$value
-
- ).
-
-
-
-
- Analisando uma string XML contida em um parâmetro XML-RPC
-
- Este método de passagem por parâmetros é usado internamente no
- pacote Zend_XmlRpc e seu uso não é recomendado.
-
- Se você tiver necessidade de usar este método, você deve usar a
- função estática Zend_XmlRpc_Value::getXmlRpcValue() para
- analisar uma string XML em um objeto Zend_XmlRpc_Value que
- representa o tipo XML-RPC correspondente. A função
- Zend_XmlRpc_Value::getXmlRpcValue() deve receber dois
- parâmetros: a string XML e a constante
- Zend_XmlRpc_Value::XML_STRING.
-
-
-
-
- Indicando o tipo dos parâmetros
-
- A principal diferença entre XML-RPC e web services SOAP é o arquivo
- WSDL. O protocolo SOAP usualmente possui um arquivo WSDL que descreve a
- interface para o web service. De acordo com esta interface, o cliente SOAP
- conhece os tipos de parâmetros que devem ser enviados ao servidor e quais
- são os tipos dos valores de retorno. Sem o arquivo WSDL, o usuário pode
- enfrentar problemas para descobrir quais são os tipos.
-
- O solução do protocolo XML-RPC usa um procedimento de serviço
- especial chamado system.methodSignature. Este procedimento
- toma o nome do procedimento como um parâmetro e retorna a assinatura de um
- dado procedimento. A assinatura contém os respectivos tipos do parâmetro
- requerido e do valor de retorno do procedimento.
-
-
- Nem todos os servidores XML-RPC suportam o procedimento especial
-
- system.methodSignature
-
- , e consequentemente, não suportam também a indicação de tipo.
-
-
- O Zend_XmlRpc_Client implementa uma gama de tipos de
- arquivos WSDL para servidores XML-RPC usando o procedimento
- system.methodSignature. Se solicitado,
- Zend_XmlRpc_Client irá requisitar uma lista de todos os
- procedimentos de um servidor XML-RPC, incluindo todas as assinaturas
- destes procedimentos. Todos esses dados serão gravados em um arquivo XML
- (similar ao arquivo SOAP WSDL). Quando o mesmo servidor XML-RPC for
- utilizado novamente, o usuário pode fornecer o arquivo XML e o
- Zend_XmlRpc_Client irá indicar o tipo de todos os parâmetros
- para os procedimentos requisitados, de acordo com suas assinaturas.
-
- O arquivo XML contendo as assinaturas dos procedimentos é criado
- chamando-se a função Zend_XmlRpc_Client::__getMethodsXml() (a
- função retorna uma string XML contendo todos os dados das assinaturas).
- Para selecionar um arquivo XML de assinaturas, o usuário pode passar os
- dados XML como um parâmetro para o construtor
- Zend_XmlRpc_Client ou chamar a função
- Zend_XmlRpc_Client::__setMethodsXml().
-
-
- Chamando um serviço XML-RPC com indicação de tipo
-
- <?php
-/**
- * Connect to an XML-RPC server, and save it's signatures file (the XML-RPC eqvivilant to a SOAP WSDL file)
- */
-require_once 'Zend/XmlRpc/Client.php';
-
-$service = new Zend_XmlRpc_Client('http://www.example.org/xmlrpc');
-
-file_put_contents('/tmp/xmlrpc-signatures/example.xml', $service->__getMethodsXml());
-
-/* The $service object contains all the signatures of the XML-RPC server,
- when the serviceProcedure is called, its parameter ($param) is converted
- to the necessary type according to the procedure's signature.
- */
-$service->serviceProcedure($param);
-?>
-
-
- <?php
-/**
- * Connect to an XML-RPC server, using an existing signature file, we make sure
- * that the type of the parameters passed to the procedures are of the necessary type
- */
-require_once 'Zend/XmlRpc/Client.php';
-
-$signature_file_xml = file_get_contents('/tmp/xmlrpc-signatures/example.xml');
-$service = new Zend_XmlRpc_Client('http://www.example.org/xmlrpc', 'namespace', $signature_file_xml);
-
-/* The $service object contains all the signatures of the XML-RPC server,
- when the serviceProcedure is called, its parameter ($param) is converted
- to the necessary type according to the procedure's signature.
- */
-$service->serviceProcedure($param);
-?>
-
-
-
-
-
- Obtendo a resposta
-
- O procedimento retorna um valor de um tipo XML-RPC. O método
- Zend_XmlRpc_Client que chama o procedimento XML-RPC retorna
- um tipo nativo do PHP que foi convertido a partir de um tipo XML-RPC
- retornado.
-
- Você pode usar a função
- Zend_XmlRpc_Client::__getResponse() para recuperar o valor de
- retorno do procedimento requisitado. A função __getResponse()
- recebe um parâmetro que indica o tipo do valor de retorno. As opções de
- resposta são:
-
-
- Zend_XmlRpc_Client::RESPONSE_PHP_NATIVE
- - Devolve o valor de retorno do procedimento convertido para um tipo nativo do PHP (converte o tipo XML-RPC em um tipo PHP).
-
-
-
-
- Zend_XmlRpc_Client::RESPONSE_XML_STRING
- - Retorna a string XML representando a resposta XML-RPC.
-
-
-
-
-´ Zend_XmlRpc_Client::RESPONSE_ZXMLRPC_OBJECT
- - Retorna um objeto
- Zend_XmlRpc_Value
- object que representa o tipo XML-RPC retornado.
-
-
-
-
- ...
-$service->serviceProcedure();
-
-$response = $service->__getResponse();
-// $response is the PHP variable converted from the XML-RPC type return value
-
-$response = $service->__getResponse(ZXmlRpcClient::RESPONSE_XML_STRING);
-// $response is a string containing the XML representing the procedure return value
-
-$response = $service->__getResponse(ZXmlRpcClient::RESPONSE_ZXMLRPC_OBJECT);
-// $response is a Zend_XmlRpc_Value instance representing the XML-RPC type return value
-...
-
-
-
-
diff --git a/documentation/manual/pt-br/ref/coding_standard.xml b/documentation/manual/pt-br/ref/coding_standard.xml
deleted file mode 100644
index a8f6c81cf88..00000000000
--- a/documentation/manual/pt-br/ref/coding_standard.xml
+++ /dev/null
@@ -1,785 +0,0 @@
-
- Padrões de Codificação do Framework Zend para PHP
-
- Visão Geral
-
-
- Escopo
-
-
- Este documento provê as linhas principais e recursos para desenvolvedores
- e times de desenvolvimento no Framework da Zend. São cobertos os seguintes
- assuntos:
-
-
-
- Formato do Arquivo PHP
-
-
-
- Convenção de Nomes
-
-
-
- Estilo de Código
-
-
-
- Documentação Inline
-
-
-
-
-
-
- Objetivos
-
-
- Bons padrões de código são importantes em qualquer projeto de desenvolvimento,
- mas particularmente quando múltiplos desenvolvedores estão trabalhando no mesmo
- projeto. Ter padrões ajuda a assegurar que o código seja de alta qualidade,
- tenha poucos bugs e seja de fácil manutenção.
-
-
-
-
-
- Formato do Arquivo PHP
-
-
- Geral
-
-
- Para arquivos que contenham somente código PHP, a tag de fechamento ("?>") não é permitida.
- Ela não é requerida pelo PHP. Não incluir esta tag evita espaços em branco na saída,
- deixados acidentalmente.
-
-
-
- IMPORTANTE:A inclusão de dados binários arbitrários, como o permitido por
- __HALT_COMPILER() é proibido em qualquer framework Zend, arquivo PHP ou arquivos
- derivados deles. O uso desta funcionalidade só é permitida para scripts especiais de instalação.
-
-
-
-
- Indentação
-
- Use indentação de 4 espaços, sem tabs.
-
-
-
- Tamanho máximo de linha
-
-
- A intenção é utilizar linhas com 80 caracteres, por exemplo, desenvolvedores
- devem procurar manter seu código próximo a 80 colunas se isso for prático.
- De qualquer forma, linhas longas são aceitáveis.
- O tamanho máximo de uma linha de código PHP é de 120 caracteres.
-
-
-
-
- Final de Linha
-
-
- O final de linha segue o padrão para arquivos texto no Unix. Linhas devem acabar somente com um
- linefeed (LF). Linefeeds são representados como ordinal 10, ou hexadecimal 0x0A.
-
-
- Não use retorno de carro (CR)como nos computadores Macintosh (0x0D).
-
-
- Não use a combinação de retorno de carro/linefeed (CRLF) como nos computadores Windows (0x0D, 0x0A).
-
-
-
-
-
- Convenções de Nomes
-
-
- Classes
-
-
- O Framework Zend emprega uma convenção por meio dos nomes das
- classes, diretamente mapeados aos diretórios nos quais estão arquivados.
- O diretório raiz do Framework Zend é o diretório "Zend/", abaixo do qual
- todas as classes são arquivadas hierarquicamente.
-
-
-
- Nomes de classes podem conter somente caracteres alfanuméricos. Números em nomes de classes são permitidos,
- mas desencorajados. Sublinhados são permitidos somente no lugar do separador de caminho -- o nome do arquivo
- "Zend/Db/Table.php" deve ser mapeado para o nome de classe "Zend_Db_Table".
-
-
-
- Se o nome de uma classe é composto por mais de uma palavra, a primeira letra de cada nova
- palavra deve ser maiúscula. Letras maiúsculas sucessivas não são permitidas, por exemplo
- a classe "Zend_PDF" não é permitida enquanto "Zend_Pdf" é aceita.
-
-
-
- As classes do Framework Zend de autoria da Zend ou de uma das companhias parceiras
- participantes e distribuídas com o Framework devem sempre iniciar com "Zend_" e
- devem estar arquivadas sob a hierarquia do diretório "Zend/".
-
-
-
- São exemplos de nomes aceitáveis para classes:
-
-
-
- IMPORTANTE: Código que opera com o framework mas que não é parte dele,
- por exemplo, código escrito por um usuário final e não pela Zend ou uma das companhias parceiras,
- não pode começar com "Zend_".
-
-
-
-
- Interfaces
-
-
- Classes de interface devem seguir as mesmas convenções como outras classes (veja acima),
- porém deve acabar com a palavra "Interface", como nestes exemplos:
-
-
-
-
-
-
- Nomes de Arquivos
-
-
- Para todos os outros arquivos, somente caracteres alfanuméricos, sublinhado, e traço "-"
- são permitidos. Espaços e ponto são proibidos.
-
-
-
- Qualquer arquivo que contenha qualquer código PHP deve acabar com a extensão ".php".
- Estes exemplos mostram nomes de arquivo aceitáveis para as classes que estes contenham,
- baseados nos exemplos da seção acima:
-
-
- Nomes de arquivos devem seguir o mapeamento para nomes de classes descrito acima.
-
-
-
-
- Funções e Métodos
-
-
- Nomes de funções devem conter somente caracteres alfanuméricos. Sublinhados não são permitidos.
- Números são permitidos nos nomes, mas são desencorajados.
-
-
-
- Nomes de funções devem sempre começar com letra minúscula. Quando um nome consistir em mais de
- uma palavra, a primeira letra de cada nova palavra deve ser maiúscula. Isto é comumente chamado o
- método "studlyCaps" ou "camelCaps".
-
-
-
- Verbalização é encorajada. Nomes de funções devem ser tão longos quanto práticos para melhorar
- o entendimento do código.
-
-
-
- Estes são exemplos de nomes aceitáveis para funções:
-
-
-
-
-
- Para programação orientada ao objeto, acessores para objetos devem sempre ser prefixados com
- "get" ou "set". Quando usando padrões de projeto, como o Singleton ou Factory Patterns,
- o nome do método deve conter o nome do padrão, como prática para que o padrão seja reconhecido na
- leitura.
-
-
-
- Funções no escopo global ("funções soltas") são permitidas mas desencorajadas.
- É recomendável que estas funções sejam empacotadas numa classe estática.
-
-
-
-
- Variáveis
-
-
- Nomes de variáveis devem conter somente caracteres alfanuméricos. Sublinhados não são permitidos.
- Números são permitidos nos nomes, mas desencorajados.
-
-
-
- Para variáveis membros de classes que são declaradas com o construtor "private" ou "protected",
- o primeiro caractere do nome da variável deve ser um único sublinhado. Este é o único uso aceitável
- de sublinhado no nome. Variáveis membros declaradas "public" não podem começar com sublinhado.
-
-
-
- Como nos nomes de funções (veja a seção 3.3 acima) nomes de variáveis devem iniciar com uma letra
- minúscula e seguir a convenção "camelCaps".
-
-
-
- Verbalização é encorajada. Nomes de variáveis devem ser tão longos quanto práticos. Nomes como
- "$i" e "$n" são desencorajados para qualquer coisa que não esteja num contexto de loop pequeno.
- Se um loop contém mais de 20 linhas de código, as variáveis para os indices precisam ter um nome mais
- descritivo.
-
-
-
-
- Constantes
-
-
- Constantes podem conter caracteres alfanuméricos e sublinhado. Números são permitidos nos nomes.
-
-
-
- Constantes devem ter sempre todas suas letras em maiúsculo.
-
-
-
- Constantes devem ser definidas como membros de classe usando o construtor "const".
- Definir constantes no escopo global com "define" é permitido, mas desencorajado.
-
-
-
-
-
- Estilo de Código
-
-
- Demarcação de Código PHP
-
-
- Código PHP deve sempre estar delimitado de forma completa, com tags padrão do PHP:
-
- ]]>
-
-
-
- Tags curtas não são permitidas.
-
-
-
-
- Strings
-
-
- String Literal
-
-
- Quando uma string é literal (não contém substituições de variável), deve ser usado apóstrofo
- ou aspas simples para demarcar o texto.
-
-
-
-
-
-
- String Literal Contendo Apóstrofos
-
-
- Quando uma string literal contém apóstrofos dentro de si, é permitido demarcar
- o texto com aspas ou "aspas duplas". Isto é especialmente encorajado para declarações SQL:
-
-
-
- A sintaxe acima é preferida ao invés de escapar os apóstrofos.
-
-
-
-
- Substituição de Variáveis
-
-
- A substituição de variáveis é permitida usando qualquer uma das duas formas:
-
-
-
-
-
- Por consistência, a forma a seguir não é permitida:
-
-
-
-
-
-
- Concatenação de String
-
-
- Strings devem ser concatenadas usando o operador ".". Um espaço deve sempre
- ser adicionado antes e depois do operador "." para melhorar a legibilidade:
-
-
-
-
-
- Quando estiver concatenando strings com o operador ".", é permitido quebrar a declaração em
- várias linhas para melhorar a legibilidade. Nestes casos, cada linha sucessiva deverá ser colocada
- num bloco com espaço em branco de forma que o operador "." esteja alinhado abaixo do operador "=":
-
-
-
-
-
-
-
- Arrays
-
-
- Arrays Indexados Numericamente
-
- Números negativos não são permitidos como índices.
-
-
- Um array indexado pode começar com qualquer número não negativo, porém
- isto é desencorajado. É recomendado que todo array tenha um índice inicial 0.
-
-
-
- Quando declarar arrays indexados com o construtor array, um espaço deve ser
- adicionado depois de cada vírgula para melhorar a legibilidade:
-
-
-
-
-
- Também é permitido declarar arrays indexados em várias linhas usando o construtor "array".
- Neste caso, cada linha sucessiva deve ser colocada num bloco com espaços de forma que
- o início de cada código alinhe-se conforme mostrado abaixo:
-
-
-
-
-
-
- Arrays Associativos
-
-
- Quando declarar arrays associativos com o construtor array, é recomendado
- quebrar a declaração em múltiplas linhas. Neste caso, cada linha sucessiva deve estar num bloco
- com espaço em branco, de forma que as chaves e valores estejam alinhados:
-
- 'firstValue',
- 'secondKey' => 'secondValue');]]>
-
-
-
-
-
- Classes
-
-
- Declaração de Classes
-
-
- Classes devem ser nomeadas seguindo a convenção de nomes.
-
- A chave de abertura é sempre escrita embaixo do nome da classe (forma de "uma única chave real").
-
- Toda classe deve ter um bloco de documentação, dentro do padrão do PHPDocumentor.
-
- Todo código dentro de uma classe deve estar indentado com quatro espaços.
-
- Somente uma classe é permitida por arquivo PHP.
-
- Colocar código adicional em um arquivo de classe é permitido mas desencorajado. Nestes arquivos,
- duas linhas em branco devem separar a classe do código PHP adicional no arquivo.
-
- Este é um exemplo de declaração aceitável de classe :
-
-
-
-
-
-
- Variáveis Membros de Classe
-
-
- Variáveis membro devem ser nomeadas de acordo com a convenção de nomes de variáveis.
-
- Quaisquer variáveis declaradas numa classe devem ser listadas no topo da classe, antes
- de declarar qualquer função.
-
- O construtor var não é permitido. Variáveis membro sempre declaram sua
- visibilidade usando o construtor private, protected
- ou public. Acessar variáveis membro diretamente tornando-as públicas
- é permitido mas desencorajado em favor de variáveis de acesso (set/get).
-
-
-
-
-
- Funções e Métodos
-
-
- Declaração de Funções e Métodos
-
-
- Nomes de funções devem seguir a convenção de nomes.
-
- Funções dentro de classes sempre declaram sua visibilidade usando o
- construtor private, protected ou public.
-
- Como classes, a chave de abertura deve sempre ser escrita abaixo do nome da função
- (forma de "uma única chave real").
-
- Não há espaços entre o nome da função e os parênteses para os argumentos.
-
- Funções no escopo global são fortemente desencorajadas.
-
- Este é um exemplo de declaração aceitável de função:
-
-
-
-
-
- NOTA: Passar valores por referência na declaração da função é
- permitido somente neste caso:
-
-
-
-
-
- Passar valores por referência ao chamar a função é proibido.
-
-
-
-
- O valor de retorno não deve estar entre parênteses. Isto pode impedir a boa legibilidade
- e pode ainda quebrar o código de um método que seja alterado posteriormente para retornar
- por referência.
-
- bar);
- }
-
- /**
- * CERTO
- */
- public function bar()
- {
- return $this->bar;
- }
-}]]>
-
-
-
-
-
- Uso de Funções e Métodos
-
-
- Argumentos de funções são separados por um espaço simples depois
- da vírgula. Este é um exemplo de chamada de função que tenha três argumentos:
-
-
-
-
-
- Passar parâmetros por referência na chamada da função é proibido. Veja a seção de
- declaração de funções para o modo correto de passar argumentos por referência.
-
- Para funções que permitem arrays nos argumentos, a chamada da função pode incluir o
- construtor "array" e pode ser dividido em várias linhas para melhorar a legibilidade.
- Nestes casos, o padrão para escrever arrays também se aplica:
-
-
-
-
-
-
-
- Instruções de Controle
-
-
- If / Else / Elseif
-
-
- Instruções de controle baseadas nos construtores if e elseif
- devem ter um espaço simples antes do parêntese de abertura da condição e um espaço
- simples depois do parêntese de fechamento.
-
-
-
- Dentro das declarações condicionais entre os parênteses, operadores devem ser separados
- por espaços para legibilidade. Parênteses internos são encorajados para melhorar o agrupamento
- lógico de condicionais extensas.
-
-
-
- A chave de abertura é sempre escrita na mesma linha da instrução condicional. A chave de
- fechamento é sempre escrita em sua própria linha. Qualquer conteúdo dentro das chaves deve
- ser indentado por quatro espaços.
-
-
-
-
-
- Para instruções "if" que incluem "elseif" ou "else", a formatação deve ser como
- nos exemplos:
-
-
- O PHP permite, em certas circunstâncias, que as instruções sejam escritas sem as chaves.
- O padrão de código não as diferencia, pois todas instruções "if", "elseif" ou "else"
- devem utilizar as chaves.
-
-
-
- O uso do construtor "elseif" é permitido mas altamente desencorajado em favor da
- combinação "else if".
-
-
-
-
- Switch
-
-
- Instruções de controle escritas com o construtor "switch" devem ter um espaço simples antes
- do parêntese de abertura da instrução condicional e um espaço simples depois do parêntese
- de fechamento.
-
-
-
- Todo conteúdo da instrução "switch" deve ser indentado com quatro espaços. O conteúdo
- abaixo de cada instrução "case" deve ser indentado com quatro espaços adicionais.
-
-
-
-
-
- O construtor default jamais pode ser omitido da instrução switch.
-
-
-
- NOTA: Algumas vezes é útil escrever uma instrução case que entra no próximo
- case sem incluir um break ou return. Para distinguir aqueles cases dos bugs,
- qualquer instrução case onde break ou return são omitidos deve
- conter o comentário "// break intentionally omitted".
-
-
-
-
-
- Documentação Inline
-
-
- Formato da Documentação
-
-
- Todos blocos de documentação ("dockblocks") devem ser compatíveis com o formato do phpDocumentor.
- A descrição do formato do phpDocumentor está além do escopo deste documento.
- Para maiores informações, visite: http://phpdoc.org">
-
-
-
- Todo código fonte escrito para o Framework Zend ou que trabalhe com o framework deve conter
- um bloco de documentação em nível de arquivo no topo de cada arquivo e um bloco de documentação
- em nível de classe imediatamente acima de cada classe. Abaixo seguem exemplos destes blocos de
- documentação:
-
-
-
-
- Arquivos
-
-
- Cada arquivo que contenha código PHP deve ter um bloco de cabeçalho no topo do arquivo que
- contenha, no mínimo, estas tags do phpDocumentor:
-
-
-
-
-
-
-
- Classes
-
-
- Toda classe deve ter um bloco de documentação que contenha, no mínimo, as seguintes
- tags do phpDocumentor:
-
-
-
-
-
-
- Funções
-
-
- Toda função, incluindo métodos de objetos, deve ter um bloco de documentação
- que contenha, no mínimo, as seguintes tags:
-
-
- Descrição da função
- Todos argumentos
- Todos os possíveis valores de retorno
-
-
-
-
- Não é necessário usar a tag "@access" pois o nível de acesso é conhecido através
- do construtor "public", "private", ou "protected" usado para declarar a função.
-
-
-
- Se uma função/método pode gerar uma excessão, use @throws:
-
-
-
-
-
-
-
-
-