Zend_Controller Início Rápido Introdução Zend_Controller é o coração do sistema MVC do Zend Framework. MVC significa Model-View-Controller é um modelo de desenvolvimento voltado para a separação da lógica de aplicação da lógica de visualização. Zend_Controller_Front implementa um padrão de Front Controller, no qual todos os pedidos são interceptado pelo controlador e despachados individualmente para ações baseadas no URL requerido. O sistema Zend_Controller foi construído com a extensibilidade em mente, tanto por derivação das classes existentes, como escrevendo novas classes que implementam as várias interfaces e classes abstratas que formam a fundação da família classes controladoras, ou escrevendo plugins ou ações auxiliadoras para aumentar ou manipular a funcionalidade do sistema. Início Rápido Se você necessita informações mais detalhadas, veja as seções seguintes. Se você quiser começar rápido, continue lendo. Crie sua estrutura de arquivos O primeiro passo é criar sua estrutura de arquivos. A estrutura típica é a seguinte: Estabeleça seu documento raiz No seu servidor web, defina seu documento raiz para o diretório html da estrutura de arquivos acima mencionada. Crie suas regras de re-escrita Edite o arquivo html/.htaccess acima para ficar como: As regas acima irão enviar qualquer solicitação a não-recurso (imagens, folhas de estilo) para o controlador de frente. Se existir outras extensões que você queira excluir do controlador de frente (PDFs, arquivos texto, etc), adicione suas extensões ao comutador, ou crie suas próprias regras de re-escrita. As regas de re-escrita acima são para o Apache; para exemplos de regras de re-escrita para outros servidores web, veja a documentação do roteador. Crie seu arquivo de inicialização O arquivo de inicialização é a página onde todas as requisições passam -- html/index.php no caso. Abra o arquivo html/index.php em um editor de sua escolha e adicione o seguinte: Isto irá criar e despachar o controlador de frente, que irá encaminhar as requisições para os controladores de ação. Crie o seu controlador de ação padrão Antes de discutir controladores de ação, você deve primeiro entender como as requisições são roterizadas no Zend Framework. Por padrão, o primeiro seguimento de um caminho de um URL aponta para um controlador, o segundo para uma ação. Por exemplo, dado o URL http://framework.zend.com/roadmap/components, o caminho é /roadmap/components, que irá apontar para o controlador roadmap e para a ação components. Se nenhuma ação for informada, a ação index é assumida, e se nenhum controlador for informado, o controlador index é assumido (Seguindo a convenção do Apache que mapeia um DirectoryIndex automaticamente). O expedidor do Zend_Controller toma o valor do controlador e mapeia-o para uma classe. Por padrão, ele pega o nome do controlador, com a primeira letra em maiúsculo, e acrescenta a palavra Controller. Sendo assim, em nosso exemplo acima, o controlador roadmap é mapeado para a classe RoadmapController. Semelhantemente, o valor da ação é mapeado para um método da classe do controlador. Por padrão, o valor é transformado em letras minúsculas, e a palavra Action é acrescentada. Sendo assim, em nosso exemplo acima, a ação components torna-se componentsAction, e o método final chamado é RoadmapController::componentsAction(). Então, seguindo em frente, vamos agora criar um controlador de ação padrão e um método de ação. Como mencionado anteriormente, o controlador padrão e a ação são ambos chamados index. Abra o arquivo application/controllers/IndexController.php, e introduza o seguinte: O ajudante de ação ViewRenderer é habilitado por padrão. Isto significa que apenas definindo um método de ação simples e o script de visão correspondente, você terá o seu conteúdo mostrador imediatamente. Por padrão, Zend_View é usado como a camada de Visaulização do MVC. O ViewRenderer faz alguma mágica, e usa o nome do controlador (ex.: index) para determinar qual modelo mostrar. Por padrão, modelos terminam com a extensão .phtml, então isto significa que, no exemplo acima o modelo index/index.phtml será mostrado. Adicionalmente, o ViewRenderer automaticamente assume que o diretório views no mesmo nível que do diretório do controlador será o diretório base de visualização, e que o atual script de visualização estará no subdiretório views/scripts/, Sendo assim, o modelo mostrado é encontrado em application/views/scripts/index/index.phtml. Crie o seu script de visualização Com mensionado na seção anterior, scripts de visualização são encontrados em application/views/scripts/; O script padrão para o controlador e ação padrão está em application/views/scripts/index/index.phtml. Crie este arquivo e tecle algum HTML: My first Zend Framework App

Hello, World!

]]>
Crie seu controlador de erro Por padrão, plugin do manipulador de erro é registrado. Este plugin espera que um controlador para manipular erros exista. Por padrão, ele assume um ErrorController no módulo padrão com um método errorAction: Assumindo o layout de diretório discutido, este arquivo estará em application/controllers/ErrorController.php. Você também precisará criar o script de visualização em application/views/scripts/error/error.phtml; o conteúdo do exemplo parecerá com: Error

An error occurred

An error occurred; please try again later.

]]>
Veja o site! Com o seu primeiro controlador e visualizador embaixo do seu cinto, você agora pode disparar o seu navegador e navegar para o site. Assumindo que o seu domínio é example.com, qualquer dos seguintes URLs irão mostrar a página que acabamos de criar: http://example.com/ http://example.com/index http://example.com/index/index Você agora está pronto para iniciar a criação de mais controladores e metódos de ação. Parabéns!