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