Application execution order
From Joomla! Documentation
(Redirected from API Execution Order)
This article or section is incomplete, which means it may be lacking information. You are welcome to assist in its completion by editing it as well. If this article or section has not been edited in several days, please consider helping complete the content.
This article was last edited by Aerendir (talk| contribs) 10 years ago. (Purge)
Typical Frontend Application Execution[edit]
This section outlines key points in the execution of the Joomla! script including, but not limited to, key files included, key methods called, triggers triggered, and so on.
Initialisation[edit]
- Load once:
defines.php
- Load once:
framework.php
- Modify configuration options for magic quotes and Zend compatibility
- Check for
configuration.php
. Redirect to installation if present or halt. - Load once:
import.php
- Load once:
configuration.php
- Set error reporting
- Load PHP compatibility functions and classes
- Initialise profiler (if debug on)
- Import
joomla.application.menu
- Import
joomla.user.user
- Import
joomla.environment.uri
- Import
joomla.html.html
- Import
joomla.utilities.utility
- Import
joomla.event.event
- Import
joomla.event.dispatcher
- Import
joomla.language.language
- Import
joomla.utilities.string
- Profile mark:
afterLoad
- Set global
$mainframe
. Call toJFactory::getApplication('site')
- Create and return instance. Call to
JApplication::getInstance
- Create and return instance. Call to
- Initialise the application. Call to
JSite::initialise
- Load base language files
- Call to
parent::initialise
- First call to
JFactory::getUser
(initialises user)- Import
joomla.user.user
- Create session. Call to
JFactory::getSession
- Import
- Set editor based on user preference if available
- First call to
- Import the system plugins. Call to
JPluginHelper::importPlugin('system')
- Profile mark: afterInitialise
- Trigger events:
onAfterInitialise
Routing and Authorisation[edit]
- Route the URI: Call to
JSite::route
- Call to
JSite::authorize
- Check current menu item access level. Redirect if not logged in. Halt if logged in and not authorised.
- Profile mark:
afterRoute
- Trigger events:
onAfterRoute
Dispatching[edit]
- Dispatch the component: Call to
JSite::dispatch
- Profile mark:
afterDispatch
- Trigger events:
onAfterDispatch
Rendering[edit]
- Render the page: Call to
JSite::render
- Profile mark:
afterRender
- Trigger events:
onAfterRender
- Echo output: Call to
JResponse::toString
with option for compressed output
Typical Administrator Application Execution[edit]
TODO
Typical XML-RPC Application Execution[edit]
TODO
Login Event Execution[edit]
This execution trace begins with at the User Component Controller method for login, UserController::login
(called within the application dispatch method)
TODO