DZ如何處理用戶信息(存取、計算、更新過程)php
新手要作二次開發,都必須掌握這數組中,每一個數組元素的意義。mysql
a) DZ的基本信息,如用戶信息,Session信息存在以下變量中:
a). $_DCACHE
b). $_COOKIE
c). $_DCOOKIE
d). $_DSESSION
e). $_DPLUGIN
b) 能夠經過print_r($GLOBALS),打印所有變量ajax
DZ中的語言處理算法
a) DZ前臺及後臺中、英語言的實現,均是把語句定義成了語變量,而後在模板輸入,語句變量的賦值,均放在模板目錄中的*.lang.php文件中,DZ在生成網站風格時就加載了這相應的語言包。sql
DZ中緩存處理機制數據庫
a) DZ中緩存處理過程都放在「cache.func.php」中,DZ的緩存處理比較簡單,其原理是把一個數組轉換成了PHP代碼,並保存在緩存目錄下,你們可打開緩存文件查看便知。api
b) 使用方法:若是在新開的功能中,須要緩存某部分數據,基本上就是:
1)定義並註冊緩存名字。數組
2)從數據讀取相應的數據。緩存
3)數據在寫入緩存前做相應處理。安全
4)最後寫入緩存。
具體操做,能夠看文件中的代碼,作相應的修改便可
DZ中模板處理機制
a) DZ首創的模板處理技術,相似於Smarty中的模板處理,只是具體算法,過程不一樣,Smarty是一種重型模板引擎方案。其原理都是把模板中的變量轉換成相應的PHP代碼,這個過程實際是模訪JAVA中的一次編譯,多處運行。
DZ中權限處理機制
a) 對於DZ中前臺的每相action都有$discuz_action定義,DZ根據用戶所在的用戶組來斷定用戶是否具備相應操做$discuz_action的權限。至於後臺的權限權驗證,則更簡單了,依據「admin==1」來肯定的
DZ中如何實現URL靜態化
a) DZ中的靜態有兩法,只要懂ReWrite規劃的朋友,一看就知。
部分文件說明:
admincp.php 管理
ajax.php ajax功能
announcement.php 公告
attachment 附件
board.php 真正的首頁
config.inc.php 這個是配置文件
corpus.php 論壇文集
digest.php 精華帖子
discuz_version.php 論壇版本號
faq.php 問題列表
forumdisplay.php 論壇列表
index.php 跳轉頁面
loggin.php 認證頁面(登陸退出)
mail_config.inc.php 郵件配置
member.php 用戶操做
memcp.php 我的控制面版
misc.php 零碎功能
my.php 個人帖子
plugin.php 插件
pm.php 短信
post.php 發送帖子
redirect.php 頁面重定向
register.php 註冊
robots.txt 限制搜索
rss.php rss信息發佈
search.php 論壇查詢
secode.php 驗證碼
stats.php 統計
topic.php 首頁論壇專題
topicadmin 主題管理
viewpro.php 顯示我的信息
viewthread.php 主題顯示
文件夾
admin 管理
api 接口
archiver 文檔
attachments 附件
customavatars 自定義表情
forumdata 論壇數據包含緩衝數據
images 圖片
include 公共文件
install 安裝包
ipdata ip地址
plugins 插件
readme 幫助文檔
templates 模板
utilities 工具包
wap 手機網站
文件夾include