中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Discuz二次開發(fā)基本知識詳細講解

2018-09-21    來源:愛站科技

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

  Discuz是國內(nèi)最流行的論壇軟件管理系統(tǒng),今天小編跟大家分享一篇關(guān)于Discuz二次開發(fā)基本知識詳細講解,感興趣的朋友跟小編一起來了解一下吧!

  一) Discuz!的文件系統(tǒng)目錄注:想搞DZ開發(fā),就得弄懂DZ中每個文件的功能。

  a) Admin:后臺管理功能模塊

  b) Api:DZ系統(tǒng)與其它系統(tǒng)之間接口程序

  c) Archiver:DZ中,用以搜索引擎優(yōu)化的無圖版

  d) Attachments:DZ中 ,用戶上傳附件的存放目錄

  e) Customavatars:DZ中,用戶自定義頭像的目錄

  f) Forumdata:DZ緩存數(shù)據(jù)的存放目錄

  g) Images:DZ模板中的圖片存放目錄

  h) Include:DZ常用函數(shù)庫,基本功能模塊目錄

  i) Ipdata:DZ統(tǒng)計IP來路用的數(shù)據(jù)

  j) Plugins:DZ插件信息的存放目錄

  k) Templates:DZ模板文件的存放目錄

  l) Wap:DZ無線,Wap程序處理目錄

  二) 必須記熟Discuz!數(shù)據(jù)庫設(shè)計的每個表的功能,每個表中每個字段的功能。

  關(guān)于DZ數(shù)據(jù)庫設(shè)計文檔,請參閱DZ相關(guān)的項目文檔(請從本貼附件中下載)

  三) Discuz!的流程控制

  a) 后臺流程控:DZ后臺所有的功能,均需要注冊到admincp.php文件,每個功能都至少有一個或一個以上的Action(動作),在admincp.php中,可以定義Action的執(zhí)行權(quán)限,分別為:“admin==1”管理員,或“admin==2 || admin==3”超級版主和版主,每個Action對應(yīng)一個腳本文件,腳本文件的命名為action.inc.php(*.inc.php),并存放在admin目錄下,如執(zhí)行:admincp.php?action=dodo,相當(dāng)于執(zhí)行admin目錄下的dodo.inc.php文件

  b) 前臺流程控制:前臺的流程控制比較簡單:流程是自由的,如:

  首頁:index.php

  會員注冊:register.php;

  會員登錄:logging.php

  發(fā)貼程序:post.php

  會員信息:member.php

  論壇內(nèi)容:forumdisplay.php

  查看貼子:viewthread.php

  …大部分功能,此處不一一列出…

  c) DZ根目下的config.inc.php屬于整個DZ系統(tǒng)的配置文件

  四) Discuz!的數(shù)據(jù)處理過程

  a) DZ對mysql的數(shù)據(jù)庫操作處理全部封裝在dbstuff(db_mysql.class.php)類中

  b) 所在的外部數(shù)據(jù)均通過“daddslashes()”初步過濾,然后再過濾,再根據(jù)需要處理

  五) Discuz!的顯示控制(網(wǎng)站多樣式風(fēng)格輸出)

  a) 顯示層就是大家通常所看到的網(wǎng)站風(fēng)格了。DZ中每套風(fēng)絡(luò)分別在templates及images下對應(yīng)一個風(fēng)格文件的存放目錄。網(wǎng)站風(fēng)格的制作,請參閱詳細的DZ風(fēng)格制作文檔

  b) DZ網(wǎng)站風(fēng)格文件處理的原理:其實很簡單,DZ使用template.func.php中的parse_template()以PHP正則運算把htm模文件中的模板標(biāo)簽,轉(zhuǎn)換成了PHP代碼,并根據(jù)styleid保存在forumdata/templates下,這個有點像Smarty中的技術(shù)。

  六) DZ中的語言處理

  a) DZ前臺及后臺中、英語言的實現(xiàn),均是把語句定義成了語變量,然后在模板輸入,語句變量的賦值,均放在模板目錄中的*.lang.php文件中,DZ在生成網(wǎng)站風(fēng)格時就加載了這相應(yīng)的語言包。

  七) DZ如何處理用戶信息(存取、計算、更新過程)

  新手要做二次開發(fā),都必須掌握這數(shù)組中,每個數(shù)組元素的意義。

  a) DZ的基本信息,如用戶信息,Session信息存在如下變量中:

  a). $_DCACHE

  b). $_COOKIE

  c). $_DCOOKIE

  d). $_DSESSION

  e). $_DPLUGIN

  b) 可以通過print_r($GLOBALS),打印全部變量

  八) DZ中緩存處理機制

  a) DZ中緩存處理過程都放在“cache.func.php”中,DZ的緩存處理比較簡單,其原理是把一個數(shù)組轉(zhuǎn)換成了PHP代碼,并保存在緩存目錄下,大家可打開緩存文件查看便知。

  b) 使用方法:如果在新開的功能中,需要緩存某部分數(shù)據(jù),基本上就是:

  1)定義并注冊緩存名字。

  2)從數(shù)據(jù)讀取相應(yīng)的數(shù)據(jù)。

  3)數(shù)據(jù)在寫入緩存前作相應(yīng)處理。

  4)最后寫入緩存。

  具體操作,可以看文件中的代碼,做相應(yīng)的修改即可

  九) DZ中模板處理機制

  a) DZ獨創(chuàng)的模板處理技術(shù),類似于Smarty中的模板處理,只是具體算法,過程不同,Smarty是一種重型模板引擎方案。其原理都是把模板中的變量轉(zhuǎn)換成相應(yīng)的PHP代碼,這個過程實際是模訪JAVA中的一次編譯,多處運行。

  十) DZ中權(quán)限處理機制

  a) 對于DZ中前臺的每相action都有$discuz_action定義,DZ根據(jù)用戶所在的用戶組來判定用戶是否具有相應(yīng)操作$discuz_action的權(quán)限。至于后臺的權(quán)限權(quán)驗證,則更簡單了,依據(jù)“admin==1”來確定的

  十一) DZ中如何實現(xiàn)URL靜態(tài)化

  a) DZ中的靜態(tài)有兩法,只要懂ReWrite規(guī)劃的朋友,一看就知。

  十二) DZ獨創(chuàng)的HTML編輯器,如何截取并使用,如果進行Discuz!代和Html代碼的轉(zhuǎn)換

  a) 這也算是DZ比較牛的一項技術(shù)了,在早期版中,因DZ編輯器的不足,使得很多用戶放棄了DZ。實現(xiàn)原理:通過JS把用的一些操作轉(zhuǎn)換成了DZ的bbcode代碼。這樣子提交了安全性,將帶有bbcode代碼的內(nèi)容存入數(shù)據(jù),在用戶打開頁頁時,又把bbcode代碼轉(zhuǎn)換成html代碼

  本貼聲明:由于時間有限,本貼只有關(guān)于DZ部分功能的簡短分析。若各位網(wǎng)友,對本文感興趣并想更為深入了解DZ,請在本貼后回貼!我將盡可能多的DZ技術(shù)分析寫在本文,不斷更新本貼內(nèi)容。

  部分文件說明:

  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 跳轉(zhuǎn)頁面

  loggin.php 認證頁面(登錄退出)

  mail_config.inc.php 郵件配置

  member.php 用戶操作

  memcp.php 個人控制面版

  misc.php 零碎功能

  my.php 我的帖子

  plugin.php 插件

  pm.php 短信

  post.php 發(fā)送帖子

  redirect.php 頁面重定向

  register.php 注冊

  robots.txt 限制搜索

  rss.php rss信息發(fā)布

  search.php 論壇查詢

  secode.php 驗證碼

  stats.php 統(tǒng)計

  topic.php 首頁論壇專題

  topicadmin 主題管理

  viewpro.php 顯示個人信息

  viewthread.php 主題顯示

  文件夾

  admin 管理

  api 接口

  archiver 文檔

  attachments 附件

  customavatars 自定義表情

  forumdata 論壇數(shù)據(jù)包含緩沖數(shù)據(jù)

  images 圖片

  include 公共文件

  install 安裝包

  ipdata ip地址

  plugins 插件

  readme 幫助文檔

  templates 模板

  utilities 工具包

  wap 手機網(wǎng)站

  文件夾include

  advertisements.inc.php 廣告管理

  ajax.js ajax相關(guān)

  attachment.func.php 附件函數(shù)集

  bbscode.js 論壇表情

  cache.fun.php 緩存函數(shù)集

  category.inc.php 欄目

  chinese.class.php

  common.inc.php 最主要的頭文件

  common.js 最主要的js文件

  corpus.func.php 論壇文集函數(shù)

  counter.inc.php 論壇計數(shù)

  cron.func.php 計劃任務(wù)

  db_mysql.class.php 數(shù)據(jù)庫

  db_mysql_error.inc.php 數(shù)據(jù)庫錯誤

  debug.php 調(diào)試信息

  discuzcode.func.php 論壇代碼

  editor.func.php 編輯器

  editor.js 編輯器

  editpost.inc.php 編輯帖子

  floatadv.js 浮動廣告

  forum.func.php 論壇函數(shù)集

  global.func.php 全局函數(shù)

  menu.js 菜單

  misc.func.php 其它

  newreply.inc.php 新回復(fù)

  newthread.inc.php 新主題

  *pmprompt.inc.php

  post.fun.php 發(fā)表主題

  printable.inc.php 論壇打印

  qihoo.js qihoo

  relatethreads.inc.php 相關(guān)主題

  security.inc.php 安全

  sendmail.inc.php 郵件

  serverbusy.htm 系統(tǒng)繁忙

  template.func.php 模板

  threadpay.inc.php 購買帖子

  以上就是Discuz二次開發(fā)基本知識詳細講解,想必都了解了吧,更多相關(guān)內(nèi)容請繼續(xù)關(guān)注西部數(shù)碼技術(shù)頻道。

標(biāo)簽: isp Mysql 安全 代碼 腳本 權(quán)限 數(shù)據(jù)庫 搜索 搜索引擎 搜索引擎優(yōu)化 西部數(shù)碼

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:Discuz! X2配置偽靜態(tài)規(guī)則的詳細教程

下一篇:discuz分類信息設(shè)置 圖文詳解