W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在本節(jié)將簡單的介紹一下Joomla的整個(gè)執(zhí)行流程,介紹的重點(diǎn)包括但不限于包含的關(guān)鍵文件、調(diào)用的關(guān)鍵方法、觸發(fā)的觸發(fā)器等。如有不正確的地方,可以留言討論。
joomla是一個(gè)單入口CMS文件,一切的請(qǐng)求都從index.php文件開始。我們將嘗試介紹你輸入一個(gè)joomla網(wǎng)站的地址,到如何生成頁面的整個(gè)流程。
假設(shè)你輸入的地址是 http://www.zmax99.com/index.php 或者 http://www.zmax99.com/index.php?option=com_zmaxshop&view=item&id=1 或者 http://www.zmax99.com/articles/test.html
只要您的網(wǎng)站是基于joomla搭建的,那么它開始請(qǐng)求的文件都是網(wǎng)站根目錄下的index.php這個(gè)文件。
當(dāng)請(qǐng)求達(dá)到網(wǎng)站根目錄下的 index.php 時(shí),一個(gè)全新的Joomla執(zhí)行周期開始了,其中包括:
導(dǎo)入定義文件包括定義應(yīng)用程序常量的文件,這些文件在應(yīng)用程序及其擴(kuò)展中廣泛使用。
加載 Joomla 框架及其應(yīng)用程序正常工作所需的所有基本類,框架還會(huì)檢查是否有存在configuration.php這個(gè)配置文件,如果不存在那么就會(huì)重定向到 安裝程序(installtion),開始安裝一個(gè)新的Joomla
創(chuàng)建JApplication 對(duì)象并且初始化,開始處理session狀態(tài)(如果存在,怎使用現(xiàn)有的session,如果不存在則新建一個(gè)session)。
加載configuration.php這個(gè)配置文件,在這個(gè)文件中記錄了數(shù)據(jù)庫的連接信息。
調(diào)用路由器,路由器負(fù)責(zé)將 URL 轉(zhuǎn)換為關(guān)聯(lián)的命令數(shù)組,反之亦然。這些命令數(shù)組將作為url參數(shù)發(fā)送到PHP的$_GET超全局變量中。在參數(shù)數(shù)組中有一個(gè)重要的變量是option.這個(gè)變量決定了系統(tǒng)將會(huì)執(zhí)行哪一個(gè)組件。
隨著組件的執(zhí)行,文檔對(duì)象被創(chuàng)建。文檔對(duì)象將需要展示的內(nèi)容存儲(chǔ)在內(nèi)存中,在輸出到瀏覽器之前,開發(fā)者可以依據(jù)需要?jiǎng)討B(tài)的修改文檔中的數(shù)據(jù)(也就是頁面顯示的內(nèi)容)。系統(tǒng)會(huì)從數(shù)據(jù)庫中讀取中當(dāng)前的模板設(shè)置,并且加載當(dāng)前需要使用的模板。之后joomla將控制權(quán)完全交給組件,組件輸出什么完全由組件自己決定。
接下來是頁面的渲染,除了上一步的組件數(shù)據(jù),模塊和通知消息也被渲染并放置在它們?cè)谀0逯卸x的位置
最后一步是將頁面輸出到瀏覽器。
需要注意的是,在上述執(zhí)行周期的各個(gè)階段,都會(huì)調(diào)用插件事件點(diǎn),從而允許各種事件干擾和擴(kuò)展 Joomla 功能。
進(jìn)入入口點(diǎn)文件index.php
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: