談談Discuz X的嵌入點

因為真的很久沒寫技術類文章,怕沒照顧到一些喜歡看技術類文章的朋友。
這次算是一個「小小」的心得吧!
雖然網路上對 Discuz X 的評價不是很好,不過他的 Core 卻是很棒的喔!
(就簡化開發方面,其實做的真的很好。)
今天要談的是 Hook 部份,我想這樣說應該沒錯。

簡單來看,在Discuz X中,所有的 Hook 都由三個部份合力完成。
一、版模
二、核心(指各原有檔案等)
三、插件

在版模中,常會看見一些函式,卻不知道其如何使用。
(將 Discuz X版模內某段 //For Developer 的註解取掉,就可以看到這些Hook點)
這些點即是一個函式,由插件來操控(訂製這個點該發生的動作)

而核心也協助處理了一部分,所謂的「版模之前」的處理。
(開發手冊上對同一個 Hook 有兩種設置,就是另一部份藏在核心上……)

就這種構造看來,也許「運行」上的負擔會加重。
不過從另一方面來看,卻對往後擴充增加了很多幫助。
(如版模之前的處理,甚至能夠將某些變數再次處理呢!)

就某弦來看,這對開發者其實是很方便的東西。
畢竟,開發上的「時間」減少,而使用者安裝時也不需要「東改西改」
一方面減少使用者安裝失敗,又能夠加速生產。
就結果來看,確實是好的!
(不過說真的,就DiscuzX那多餘的新工能來看,很多人真的都用不上。)

大家可以試試看 Discuz 的嵌入點,還可以在檔案中找找看運作構造喔~
(打算考上大學之後,也來做做看這種 Core 呢!)

Comments are closed.