HDwiki架構

php嵌入式語言,簡單也繁瑣php和html嵌套着寫,開發維護絕對能讓人產生暴力衝動.所HDwiki採用了mvc模式,方便開發人員分工協作,提高開發效率,增強程序維護性和擴展性,而且還利用ControllerModel與View分離,降低們之間耦合度.

HDwiki,請求發過來(index.php?doc-view-1),調度控制器(hdwiki.class.php) 會根據請求決定由哪控制器哪方法去處理,本例doc控制器doview方法去處理,控制器文件便/control/doc.php,doc控制器doview方法負責處理業務部分(比數據校驗,業務邏輯),調用模型(model)和視圖(view).模型主要根據要求取數據,從數據庫去,也從文件去,還從內存去,歸根底句,根據業務邏輯處理數據.而視圖要我們處理好數據顯示出來,控制器要顯示數據發給視圖,視圖根據要求顯示樣式,html代碼,要顯示數據處理成模板文件,顯示出來.樣請求便處理完了.能會有哥們要問了,能根據index.php?doc-view-1能知道控制器哪,方法哪?我們要說下關鍵詞---URL

URL
HDwikiurl形式index.php?doc-view-1,index.php所有請求唯入口,query_string"-"分割,第doc表示調用控制器文件,路徑/control/doc.php,第二"view"要調用控制器方法doview,面參數"1"(或者更多參數)均doview方法需要參數,順序自定義,等等,url明明view,調用doview方法呢?hdwiki系統裏從url知道要訪問方法名稱,control有方法想被url直接訪問,也要區分開,所需要所有url集處理,能被直接訪問統加do.

權限
HDwiki權限能獨樹幟,每用戶否有訪問權限完全根據url來判斷.我們給用戶分組,比方說管理員組,詞條管理員組,普通用戶組,匿名組等,每組都有坨訪問url列表,哪組,只能訪問些url,也些應用,每url都權限控制.能訪問url都會被控制.當url大家都看,有部分有限制,需要做點點調整,比匿名用戶看"請登錄",登錄用戶看"退出",我們會輔助用戶組id來判斷.

標籤
hdwiki標籤功能能讓站長和開發者更方便快捷添加要顯示各種數據,基本表現形式頁面添加例 {hdwiki:docnumber /}數據,便能顯示總詞條數.其原理也簡單,根據標籤正則匹配,調用相應方法去調用數據,當,每標籤要調用方法都已經寫好了全部保存model/tag.class.php,{hdwiki:docnumber /}例,當調用頁面時,被解析成$_ENV['tag']->docnumber(),而段代碼便去調用/model/tag.class.phpdocnumber方法,方法便調出總詞條數數值.樣,只要tag.class.php存方法,任何頁面調用了.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章