O sistema Zend_Controller é projetado para ser leve, modular, e
        extensível. É um projeto minimalista para permitir uma flexibilidade e alguma liberdade
        para usuários enquanto provê estrutura suficiente para os sistemas construídos envolta
        do Zend_Controller compartilhar algumas convenções
        comuns e layout de código.
    
O diagrama seguinte representa o processo, e a narrativa subseqüente descreve detalhadamente as interações:
        
    
        O processo do Zend_Controller é implementado por vários
        componentes. Enquanto não é necessário entender completamente os por menores de todos
        estes componentes do sistema, ter um conhecimento básico do processo é útil.
    
- 
            
Zend_Controller_Frontorquestra todo o processo do sistemaZend_Controller. Ele é o interpretador do padrão FrontController.Zend_Controller_Frontprocessa todas as requisições recebidas pelo servidor e é o responsável direto pela delegação dos pedidos dos ActionControllers (Zend_Controller_Action). - 
            
Zend_Controller_Request_Abstract(muitas vezes chamado de Request Object) representa o ambiente de pedido e fornece métodos para colocação e recuperação do controlador e nomes de ações e qualquer parâmetros passados. Adicionalmente ele guarda o registro de que a ação foi despachada ou não peloZend_Controller_Dispatcher. Extensões do objeto de requisição abstrata podem ser usadas para encapsular todo o ambiente de requisição, permitindo aos roteadores colocarem informações no ambiente de requisição para estabelecer o controlador e nomes de ação.Por padrão,
Zend_Controller_Request_Httpé usado, para fornecer acesso a todo o ambiente de pedido de HTTP. - 
            
Zend_Controller_Router_Interfaceé usado para definir os roteadores. Roteamento é o processo de examinação da requisição do ambiente para determinar qual controlador e ação do controlador, devem receber a requisição. Este controlador, ação e parâmetros opcionais são incluídos no objeto de requisição para serem processados peloZend_Controller_Dispatcher_Standard. O roteamento ocorre somente uma vez: quando a requisição é inicialmente recebida e antes do primeiro controlador ser despachado.O roteador padrão,
Zend_Controller_Router_Rewrite, pega uma URI no ponto especificado emZend_Controller_Request_Httpe a decompõe em um controlador, ação e parâmetros baseado na informação do caminho da URL. Por exemplo, a URLhttp://localhost/foo/bar/key/valuepode ser decomposta para usar o controlador foo, a ação bar, e o parâmetro especificado key com o valor igual a value.Zend_Controller_Router_Rewritetambém pode ser usado para combinar caminhos arbitrários; veja a documentação do roteador para mais informações. - 
            
Zend_Controller_Dispatcher_Interfaceé usado para definir despachantes. Despachar é o processo de pegar o controlador e a ação do objeto de requisição e mapeá-lo para um arquivo de um controlador (ou classe) e método de ação na classe do controlador. Se o controlador ou ação não existir, ele determina o controlador e ação padrão para despachar.O processo atual de despacho consiste em instanciar a classe do controlador e chamar o método de ação nesta classe. Diferente do roteamento, que ocorre somente uma vez, o despacho ocorre em um laço. Se o status do objeto de requisição despachado é reiniciado em algum ponto, o laço irá se repetir, chamando qualquer ação atualmente estabelecida no objeto de requisição. A primeira vez que o laço do objeto de requisição terminar com o status ativado (Boolean
TRUE), ele irá finalizar o processo.O despachador padrão é o
Zend_Controller_Dispatcher_Standard. Ele define os controladores como MixedCasedClasses terminados com a palavra Controller, e os métodos de ações como camelCasedMethods terminadas com a palavra Action:FooController::barAction(). Neste caso, o controlador será chamado como foo e a ação como bar.Convenções de Nomenclatura para Maiúsculas e Minúsculas
Desde que os seres humanos são notoriamente incapazes de preservar maiúsculas e minúsculas ao digitar links, o Zend Framework atualmente normaliza as informações sobre o caminho para minúsculas. Isto, naturalmente, afetará a forma como você nomeia o seu controlador e suas ações... ou referir-se a eles em links.
Se você deseja que o nome de seu controlador de classe ou do método de ação tenham múltiplas MixedCasedWords ou camelCasedWords, você precisará, para separar as palavras na url, um '-' ou '.' (embora você pode configurar o caractere utilizado).
Por exemplo, se você estava indo para a ação em
FooBarController::bazBatAction(), você irá se referir a ela em uma url como/foo-bar/baz-batou/foo.bar/baz.bat. - 
            
Zend_Controller_Actioné o componente base do controlador de ação. Cada controlador é uma classe única que extende a classeZend_Controller_Actione deve conter um ou mais métodos de ação. - 
            
Zend_Controller_Response_Abstractdefine a classe básica de resposta usada para coletar e retornar repostas dos controladores de ação. Ela coleta tanto cabeçalhos como conteúdos de corpo.A classe de resposta padrão é
Zend_Controller_Response_Http, que é conveniente para uso em um ambiente HTTP. 
        O processo do Zend_Controller é relativamente simples. Uma
        requisição é recebida pelo Zend_Controller_Front, que por sua vez
        chama Zend_Controller_Router_Rewrite para determinar qual
        controlador (e ação deste controlador) será chamado.
        Zend_Controller_Router_Rewrite decompõe o URI
        para poder determinar os nomes do controlador e da ação da requisição.
        Zend_Controller_Front então entrar em um laço de despacho. Ele
        chama Zend_Controller_Dispatcher_Standard, passando-lhe a
        requisição, para ser despachada para o controlador e ação especificados na requisição (ou
        usa os padrões). Depois que o controlador termina, o controle retorna para
        Zend_Controller_Front. Se o controlador indicar outro controlador
        para ser despachado através do reinicio do status de requisição, o laço continua e outro
        despacho é executado. De outra maneira, o processo termina.