前台 Joomla! API 執行順序
2008/12/26
Initialisation 初始化
- 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
- 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 分派
- Dispatch the component: Call to
JSite::dispatch
- Profile mark:
afterDispatch
- Trigger events:
onAfterDispatch
Rendering 渲染
- Render the page: Call to
JSite::render
- Profile mark:
afterRender
- Trigger events:
onAfterRender
- Echo output: Call to
JResponse::toString
with option for compressed output