NAGIOSQL數據庫結構簡介
個人覺得如果了解一個系統的架構,應該先從數據庫著手,因為數據庫是靈魂,當然前提是這個系統用到了數據庫。剛才說到了架構,其實我還真不知架構到底是個什么東東,也不知第一句話說的是否在理,因為我確實不懂開發,更沒了解過某個系統的架構。嘿嘿。
先來個MySQL數據庫表的截圖,見1.4
這個截圖中的表就是nagiosql所用到的表,在二次開發過程中請盡可能的使用系統默認的表,因為這樣可以最少的減小系統的出錯機率,但是如果在表中加字段時請慎重。因為一個主要原因就是%20:nagiosql是會寫配置文件的,在寫配置文件過程中,它會select%20*%20from%20table的,哈哈。(之后的文章,我會介紹解決的辦法?。?/p>
下面簡單介紹下圈起來的幾個表,他們都是常用到的,tbl_是默認的前綴,tbl_lnk表示關聯表:
NAGIOSQL源碼結構簡介
源碼結構如下圖:
注:其它未標注文件為自動生成的配置。
NAGIOSQL運行時
默認的nagiosql所展示的每個頁面都是通過templates目錄下的tpl.htm模板展現的。nagiosql通過一個叫做HTML_Template_IT的模板類去處理模板的加載、分析、配置、展現。不得不說這個模板處理的機制已經很古董了,除了思想與現在的模板使用基本一致外,我想這個類的使用現在應該已經被人遺忘的差不多了,因為它確實不是很主流,以至于各種找不到介紹與使用它的資料。如需想了解更多可訪問http://pear.php.net/manual/en/package.html.html-template-it.php。
nagiosql首次運行的時候,index.php頁面會首先加載functions/PRepend_adm.php文件,并通過此頁面中的session_start()方法設置session信息。而登錄后的狀態保存及權限控制也基本全是基于session進行的,這也完全歸功于php強大的session功能。prepend_adm.php文件控制著全局的頁面顯示,它是全局模板(包括文件頭,頁腳)main.tpl.htm的數據源。functions/nag_class.php則控制著左側菜單及插入、刪除、更改頁面的數據源。admin_master.tpl.htm模板頁則控制著每個頁面的主內容。
它們的對應關系的簡要截圖如下:
請朋友們轉載時注明出處,因為我是為了更好的方便大家來和我討論。謝謝了。
意見及建議:ruberzhu@QQ.com
新聞熱點
疑難解答