Grav - ciclo de vida
En este capítulo, comprenderemos el ciclo de vida de Grav. El ciclo de vida de Grav determina cómo se procesa Grav para extender Grav a través de complementos. El siguiente diagrama muestra el flujo del proceso del ciclo de vida de Grav.
Los siguientes cuatro pasos del ciclo de vida de Grav:
PHP Version
Loader class is initialized
Obtain Grav Instance
Call Grav Process
Versión PHP
Comprueba la versión de PHP para asegurarse de que estamos ejecutando la versión de PHP superior a 5.4.0.
Se inicializa la clase de cargador
En el segundo paso, se inicializa el cargador de clases.
Obtener instancia de gravedad
Si no existe ninguna instancia, llama al método load () y agrega Grav.
Inicializa el valor del depurador y lo agrega al depurador.
Registra el registro y el controlador de errores.
Agrega la uri, la tarea, los eventos, la caché, la sesión, los complementos, los temas, la ramita, la taxonomía, el idioma, las páginas, los activos y la URL base.
Registra la secuencia y el controlador de configuración.
Llamar al proceso de Grav
Inicializa la configuración, el objeto Uri, el controlador de errores, el depurador y la sesión.
Después de inicializar, comienza a almacenar en búfer la salida.
Inicializa la zona horaria y los complementos y desencadena el evento onPluginsInitialized .
A continuación, inicializa el tema y activa los eventos onThemeInitialized y onTask [TASK] .
Inicializa los activos y dispara el evento onAssetsInitialized .
Inicializa la ramita con las siguientes acciones:
Según la configuración, establece las rutas de la plantilla de ramitas.
Maneja las plantillas de idioma disponibles.
A continuación, dispara el evento onTwigTemplatePaths .
Se carga la configuración de la cadena y la ramita del cargador.
Incendios onTwigInitialized evento.
Carga las extensiones de ramitas y activa el evento onTwigExtensions .
Establece las variables de ramitas estándar.
A continuación, inicializa las páginas.
Llama al método buildPages () .
Si la caché es buena, carga las páginas desde la caché. Si el caché no es bueno , se llama al método recurse () .
El evento onBuildPagesInitialized se activa en el método recurse () .
Si se encuentra un archivo como .md , se realizan las siguientes acciones:
Para cargar los detalles del archivo, se llama al método init () .
Establece filePath, modificado e id.
Se llama al método header () para inicializar las variables de encabezado.
Se llama al método slug () para establecer la URL slug.
Se llama al método visible () para establecer el estado visible.
Según la carpeta que comienza con _ (guión bajo), se establece modularTwig () .
Luego dispara el evento onPageProcessed .
recurse () los hijos si se encuentra una carpeta.
Se dispara la onFolderProcessed evento.
llama al método buildRoutes () .
Para todas las páginas se inicializa la taxonomía
La tabla de ruta está diseñada para una búsqueda rápida.
Los eventos onPagesInitialized y onPageInitialized se activan .
El depurador CSS / JS se agrega a los activos.
Usando el método processSite () de Twig , obtenemos el resultado.
Se dispara el evento onTwigSiteVariables .
Obtiene el resultado de la página.
Cuando la página no se encuentra o no se puede enrutar, se activa el evento onPageNotFound .
Todas las variables Twig se establecen en el objeto twig.
El nombre de la plantilla se establece según la información del archivo / encabezado / extensión.
Se llama al método render () .
Devuelve el formato de archivo en HTML
Se dispara la onOutputGenerated evento.
Configure los encabezados HTTP.
Muestra la salida
El búfer de salida se descarga a la página.
El evento onOutputRendered se activará .
Cierra la conexión con el cliente.
Por último, activa el evento onShutDown .
Cuando se llama al método content () en la página, se produce el siguiente ciclo de vida.
El evento onPageContentRaw se activará .
De acuerdo con la configuración de Markdown y Twig, procesa la página.
Se dispara la onPageContentProcessed evento.