本文目錄一覽:
- 1、怎麼進行discuz的二次開發
- 2、discuz7.2模板裡面怎麼運行php
- 3、DZ論壇帶forum.php,該怎麼設置首頁
- 4、DZ論壇php.INI 在哪
- 5、怎麼做PHP程序,dz ecshop模板展示
- 6、Dz論壇程序3.4用php版本哪個合適?
怎麼進行discuz的二次開發
必須至少具備如下技能:
1) 能夠理很好理解MVC構架的原理(雖然DZ不是MVC架構的)
2) 紮實的PHP基礎,熟悉結構化程序,OOP程序的寫法及應用
3)熟悉MYSQL就用,掌握SQL語言,懂SQL優化者更佳
4) 熟悉使用Discuz!的各項功能
一) Discuz!的文件系統目錄
註:想搞DZ開發,就得弄懂DZ中每個文件的功能。
a) Admin:後台管理功能模塊
b) Api:DZ系統與其它系統之間接口程序
c) Archiver:DZ中,用以搜索引擎優化的無圖版
d) Attachments:DZ中 ,用戶上傳附件的存放目錄
e) Customavatars:DZ中,用戶自定義頭像的目錄
f) Forumdata:DZ緩存數據的存放目錄
g) Images:DZ模板中的圖片存放目錄
h) Include:DZ常用函數庫,基本功能模塊目錄
i) Ipdata:DZ統計IP來路用的數據
j) Plugins:DZ插件信息的存放目錄
k) Templates:DZ模板文件的存放目錄
l) Wap:DZ無線,Wap程序處理目錄
二) 必須記熟Discuz!數據庫設計的每個表的功能,每個表中每個字段的功能。
關於DZ數據庫設計文檔,請參閱DZ相關的項目
三) Discuz!的流程控制
a)
後台流程控:DZ後台所有的功能,均需要註冊到admincp.php文件,每個功能都至少有一個或一個以上的Action(動作),在
admincp.php中,可以定義Action的執行權限,分別為:“admin==1”管理員,或“admin==2
admin==3”超級版主和版主,每個Action對應一個腳本文件,腳本文件的命名為action.inc.php(*.inc.php),並存放在
admin目錄下,如執行:admincp.php?action=dodo,相當於執行admin目錄下的dodo.inc.php文件
b) 前台流程控制:前台的流程控制比較簡單:流程是自由的,如:
首頁:index.php
會員註冊:register.php;
會員登錄:logging.php
發貼程序:post.php
會員信息:member.php
論壇內容:forumdisplay.php
查看貼子:viewthread.php
…大部分功能,此處不一一列出…
c) DZ根目下的config.inc.php屬於整個DZ系統的配置文件
四) Discuz!的數據處理過程
a) DZ對mysql的數據庫操作處理全部封裝在dbstuff(db_mysql.class.php)類中
b) 所在的外部數據均通過“daddslashes()”初步過濾,然後再過濾,再根據需要處理
五) Discuz!的顯示控制(網站多樣式風格輸出)
a) 顯示層就是大家通常所看到的網站風格了。DZ中每套風絡分別在templates及images下對應一個風格文件的存放目錄。網站風格的製作,請參閱詳細的DZ風格製作文檔
b) DZ網站風格文件處理的原理:其實很簡單,DZ使用template.func.php中的parse_template()以PHP正則運算把htm模
文件中的模板標籤,轉換成了PHP代碼,並根據styleid保存在forumdata/templates下,這個有點像Smarty中的技術。
六) DZ中的語言處理
a) 前台及後台中、英語言的實現,均是把語句定義成了語變量,然後在模板輸入,語句變量的賦值,均放在模板目錄中的*.lang.php文件中,DZ在生成網站風格時就加載了這相應的語言包。
七) DZ如何處理用戶信息(存取、計算、更新過程)
新手要做二次開發,都必須掌握這數組中,每個數組元素的意義。
a) DZ的基本信息,如用戶信息,Session信息存在如下變量中:
a). $_DCACHE
b). $_COOKIE
c). $_DCOOKIE
d). $_DSESSION
e). $_DPLUGIN
b) 可以通過print_r($GLOBALS),打印全部變量
八) DZ中緩存處理機制
a) DZ中緩存處理過程都放在“cache.func.php”中,DZ的緩存處理比較簡單,其原理是把一個數組轉換成了PHP代碼,並保存在緩存目錄下,大家可打開緩存文件查看便知。
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規劃的朋友,一看就知。
十二) DZ獨創的HTML編輯器,如何截取並使用,如果進行Discuz!代和Html代碼的轉換
a) 這也算是DZ比較牛的一項技術了,在早期版中,因DZ編輯器的不足,使得很多用戶放棄了DZ。
實現原理:通過JS把用的一些操作轉換成了DZ的bbcode代碼。這樣子提交了安全性,將帶有bbcode代碼的內容存入數據,在用戶打開頁頁時,又把bbcode代碼轉換成html代碼
discuz7.2模板裡面怎麼運行php
去dz的後台,添加調用,打進去你要運行的php代碼,生成後會出現你要的調用代碼。
DZ論壇帶forum.php,該怎麼設置首頁
您的一個問答問了3個問題哈
1)去掉forum.php,去站點後台,全局–域名設置–應用域名,將默認和首頁設置為你的域名即可
2)網站keywords在全局–seo設置–門戶、論壇等裡面添加即可
3)關於帖子里的內鏈,您可以安裝個dxc、或者seo優化插件即可
DZ論壇php.INI 在哪
首先dz是一個php框架, 而php.ini是php的一個配置文件,這個和dz並無關係。
如果想看當前php使用的php.ini所在路徑,可以在任意php代碼里輸入 phpinfo(),然後在輸出結果頁面中搜索 Loaded Configuration File ,這個就是當前php運行環境所使用的php.ini路徑
怎麼做PHP程序,dz ecshop模板展示
空間上面新建三個文件夾分別為:X1 X2 X3 可以共用同一數據庫。在網站系統安裝時候,記得修改安裝的數據表,不一樣就OK了。
Dz論壇程序3.4用php版本哪個合適?
DZ論壇3.4程序,建議使用的環境為:
1.PHP7.2、7.3,因為現在php的主流都是php7+
2.Memcached +Redis,使用緩存服務可以加快dz的打開速度。
3.建議使用Nginx,這樣在網站並發上會有較好的優勢
4.數據庫上建議使用MySQL 5.6、5.7
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/271748.html