It is often useful to know how Grav processes in order to fully understand how best to extend Grav via plugins. This is the Grav lifecycle:
load()loaderdebuggergrav (deprecated)accountsusers (deprecated)assetsbackupssetupblueprintsconfiglanguageslanguageerrorfilesysteminflectorlogoutputpagespagerequestschedulersessionmessageslocatorstreamstaskactionbrowsercacheeventsexifpluginstaxonomythemestwiguriGrav::process()
$grav['config']$grav['plugins']$grav['log']$grav['errors']$grav['debugger']$grav['session'] if system.session.initialize is true$grav['uri']
$grav['base_url_absolute']$grav['base_url_relative']$grav['base_url']system.pages.redirect_trailing_slash is true and trailing slash in URL$grav['accounts']$grav['plugins']$grav['themes']$grav['request']NotFoundException: continue (check task and action)$grav['backups']$grav['scheduler']$grav['assets']$grav['twig']
$grav['pages']
buildPages()recurse()recurse().md file is found:
folder found recurse() the childrenbuildRoutes()taxonomy for all pagesroute table for fast lookup$grav['output']output instanceof ResponseInterface:
processSite() method
render() methodWhenever a page has its content() method called, the following lifecycle occurs:
Found errors? Think you can improve this documentation? Simply click the Edit link at the top of the page, and then the icon on Github to make your changes.
Powered by Grav + with by Trilby Media.