A free and open-source book on ZF3 for beginners

Translation into this language is not yet finished. You can help this project by translating the chapters and contributing your changes.

3.7. Ciclo de vida da Aplicação & Eventos

Como você aprendeu na seção anterior, em cada requisição HTTP, o Zend\Mvc\Application objeto é criado. Normalmente, um aplicativo "vive" por um segundo ou menos (esse tempo é suficiente para gerar a resposta HTTP). A "vida" da aplicação consiste em várias etapas.

Zend Framework 3 usa o conceito de eventos. Uma classe pode desencadear um evento, e outras classes podem escutar (listen) esse eventos. Tecnicamente, desencadear um evento significa apenas chamar outro método de "callback" de classe. O gerenciamento de eventos é implementado dentro de o componente Zend\EventManager.

Cada estágio da vida da aplicação é iniciando é pelo aplicativo, disparando um evento (este evento é representado pela classe MvcEvent que está no namespace Zend\Mvc). Outras classes (pertencentes ao Zend Framework ou específicas da sua aplicação) podem aos eventos e reagir de acordo.

Abaixo, os cinco principais eventos (etapas) são apresentados:

Bootstrap . Quando esse evento é acionado pela sua aplicação, um módulo tem a chance de registre-se como usar o listener (ouvir) de eventos de aplicativos adicionais em seu onBootstrap() método de retorno de chamada.

Rota. Quando esse evento é acionado, a URL da solicitação é analisado usando uma classe router (normalmente, com a classe Zend\Router\Http\TreeRouteStack). Se uma correspondência exata entre o URL e uma rota for encontrado, o pedido é passado para o controller específica do local atribuída à rota.

Despacho (Dispatch). A classe do controller "despacha" a solicitação usando o método de ação correspondente e produz os dados que podem ser exibidos na página.

Render. Neste evento, os dados produzidos pela ação do controller são passados ​​para serem renderizados pela Classe Zend\View\Renderer\PhpRenderer. A classe do renderizador usa um view template para produzir uma página HTML.

Termino. Neste evento, a resposta HTTP é enviada de volta ao cliente.

O fluxo de eventos é ilustrado na imagem 3.3:

Imagem 3.3. Fluxo de eventos durante o ciclo de vida da aplicação Imagem 3.3. Fluxo de eventos durante o ciclo de vida da aplicação

Embora raramente necessário, alguns exemplos práticos de como ouvir (listen) e reagir a um evento pode ser encontrado no capítulo Criando um novo Módulo


Top