class_core.php 模塊功能白皮書

source/class/class_core.php 是 Discuz! 的通用初始化模塊程序,其幾乎被所有的外部代碼所引用,在您開始插件設計之前,可以先對該模塊的大致功能做一定的瞭解。class_core.php 主要完成了以下任務:

  • 對不同 PHP 及操作系統環境做了判斷和兼容性處理,使得 Discuz! 可以運行於各種不同配置的服務器環境下。
  • 初始化常量 IN_DISCUZ 爲 TRUE,用於 include 或 require 後續程序的判斷,避免其他程序被非法引用。
  • 讀取社區程序所在絕對路徑,存放於常量 DISCUZ_ROOT 中。
  • 加載所需的基本函數庫 source/function/function_core.php。
  • 通過 config/config_global.php 中提供的數據庫賬號信息,建立數據庫連接。Discuz! 支持數據表的前綴,如需獲得表的全名,可使用“DB::table('tablename')”方式。
  • 判斷用戶是否登錄,如登錄標記 $_G['uid'] 爲非 0,同時將 $_G['username'](加了 addslashes 的用戶名,可用於不加修改的插入數據庫)、 $_G['member']['username'](原始的用戶名,可用於頁面顯示)、$_G['member']['password'](用戶密碼 的MD5串)等相應用戶信息賦值,其他用戶信息存放於 $_G['member'],更多信息可通過“getuserprofile()”獲取。
  • 判斷用戶管理權限,將管理權限標記 $_G['adminid'] 爲 1~3 中間的值。0 代表普通用戶;1 代表論壇管理員;2 代表超級版主;3 代表論壇版主。 將用戶權限按照其所在的主用戶組 ID 標記爲 $_G['groupid'],相關權限從該 $_G['groupid'] 所對應的系統緩存中讀出,存放於 $_G['group']。
  • 預置讀入了每個模塊的各種設置變量。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章