整體架構:
UCHOME2.0並不是基於跟Ucenter一樣的MVC模式來開發的,而是採用多點入口模式開發的。
什麼叫做多點入口呢?就是說整個程序只有固定的幾個入口,這幾個入口文件作爲調度文件,他們就像一個傳達室,根據傳遞不同的參數,他們調用不同的文件來處理你的請求。
Uchome總共有如下入口:
Index.php(主要負責首頁數據的顯示)
space.php(主要負責數據的顯示)
cp.php(主要負責數據的操作,比如發佈日誌、上傳圖片等)
network.php(主要負責隨便看看功能模塊的處理)
magic.php(主要負責道具功能的操作)
do.php(主要負責 登錄、註冊、找回密碼、上傳FLASH文件、ajax、驗證碼、發送郵件等操作)
入口文件的結構:(下面以space.php入口爲例)
1:規定允許調用的方法
2:接收傳遞來的參數,並判斷是否爲合法的參數調用
3:跟據傳遞來的參數調用相應的處理文件
這裏以space.php?do=doing 爲例
傳遞home參數給space.php之後執行include_once(/source.php/space_doing.php)語句,於是所有事情交給space_doing.php處理
數據顯示:
接着上面的來。space_doing.php通過一系列的數據查詢操作,從數據庫中獲取要查詢的數據。
然後通過該語句來包含顯示模板來顯示數據。 先不詳細的解說template這個函數而只是說說template函數的功能。
Template()函數功能是通過傳遞的參數得到編譯後的模板文件的完整路徑。
在這裏得到的是 data/tpl_cache/template_default_cp_doing.php 文件。
而template_default_cp_doing.php是一個PHP代碼與html代碼混合在一起的文件
Uchome架構圖(以space.php?do=doing爲例)