Grav - Ciclo de Vida
Neste capítulo, vamos entender o ciclo de vida do Grav. Grav Lifecycle determina como o Grav processa a fim de estender o Grav por meio de plug-ins. O diagrama a seguir mostra o fluxo do processo de ciclo de vida Grav.
As quatro etapas a seguir do ciclo de vida Grav -
PHP Version
Loader class is initialized
Obtain Grav Instance
Call Grav Process
Versão PHP
Ele verifica a versão do PHP para ter certeza de que estamos executando a versão do PHP acima de 5.4.0.
A classe do carregador foi inicializada
Na segunda etapa, o carregador de classes é inicializado.
Obter instância Grav
Se nenhuma instância existir, ele chama o método load () e adiciona Grav.
Ele inicializa o valor do depurador e adiciona ao depurador.
Ele registra o log e o manipulador de erros.
Ele adiciona o uri, tarefa, eventos, cache, sessão, plug-ins, temas, galho, taxonomia, idioma, páginas, ativos e url base.
Ele registra o fluxo e o manipulador de configuração.
Processo de Gravação de Chamadas
Ele inicializa a configuração, o objeto Uri, o manipulador de erros, o depurador e a sessão.
Após a inicialização, ele começa a armazenar a saída em buffer.
Ele inicializa o fuso horário e os plug-ins e dispara o evento onPluginsInitialized .
Em seguida, ele inicializa o tema e dispara os eventos onThemeInitialized e onTask [TASK] .
Ele inicializa os ativos e dispara o evento onAssetsInitialized .
Ele inicializa o galho com as seguintes ações -
Com base na configuração, ele define os caminhos do modelo de galho.
Lida com os modelos de idioma disponíveis.
Em seguida, ele dispara o evento onTwigTemplatePaths .
A corrente do carregador e a configuração do galho são carregadas.
Dispara o evento onTwigInitialized .
Ele carrega as extensões do twig e dispara o evento onTwigExtensions .
Ele define as variáveis padrão do galho.
Em seguida, ele inicializa as páginas.
Ele chama o método buildPages () .
Se o cache estiver bom, ele carrega as páginas do cache. Se o cache não for bom, o método recurse () será chamado.
O evento onBuildPagesInitialized é disparado no método recurse () .
Se um arquivo for encontrado como .md , as seguintes ações serão executadas -
Para carregar os detalhes do arquivo, o método init () é chamado.
Ele define o filePath, modificado e id.
O método header () é chamado para inicializar variáveis de cabeçalho.
O método slug () é chamado para definir o slug da URL.
O método visible () é chamado para definir o estado visível.
Com base na pasta que começa com _ (sublinhado), modularTwig () é definido.
Posteriormente, ele dispara o evento onPageProcessed .
recurse () os filhos se uma pasta for encontrada.
Ele dispara o evento onFolderProcessed .
chama o método buildRoutes () .
Para todas as páginas, a taxonomia é inicializada
A tabela de rotas é construída para uma pesquisa rápida.
Os eventos onPagesInitialized e onPageInitialized são disparados.
O depurador CSS / JS é adicionado aos ativos.
Usando o método processSite () do Twig , obtemos a saída.
O evento onTwigSiteVariables é disparado.
Obtém a saída da página.
Quando a página não é encontrada ou não roteável, o evento onPageNotFound é disparado.
Todas as variáveis Twig são definidas no objeto twig.
O nome do modelo é definido dependendo das informações do arquivo / cabeçalho / extensão.
método render () é chamado.
Retorna o formato do arquivo em HTML
Ele dispara o evento onOutputGenerated .
Defina os cabeçalhos HTTP.
Exibe a saída
O buffer de saída é liberado para a página.
O evento onOutputRendered será acionado .
Fecha a conexão com o cliente.
Por último, ele dispara o evento onShutDown .
Quando o método content () é chamado na página, ocorre o seguinte ciclo de vida.
O evento onPageContentRaw será acionado .
De acordo com as configurações de Markdown e Twig, ele processa a página.
Ele dispara o evento onPageContentProcessed .