国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > PhpCMS > 正文

phpcms2008 系統(tǒng)結(jié)構(gòu)

2024-09-10 07:16:05
字體:
供稿:網(wǎng)友

# 總結(jié)構(gòu)

phpcms2008(以下簡稱為cms) 主要分成[PHPCMS核心]和其它[模塊]兩大部份。

admin, include, templates 三個(gè)目錄為核心目錄。

ask, brand, comment 這類目錄則是模塊目錄,如 ask 目錄就是 ask 模塊,目錄中放的是 ask 模塊的源代碼.

另外還有 data, images, uploadfile 三個(gè)數(shù)據(jù)目錄,data 主要用于保存文件緩存文件,images 保存 JS 及圖片文件,uploadfile 保存上傳文件.

# admin 目錄

admin 目錄用于存放[后臺(tái)功能控制器](*.inc.php)及[后臺(tái)模板](templates/*.tpl.php)。

在 cms 中,后臺(tái)功能控制器都通過 /admin.php 文件作為單一入口進(jìn)行調(diào)用了,也就是說,使用后臺(tái)功能時(shí)瀏覽器訪問的都是 /admin.php 文件.

在 /admin.php 文件中主要進(jìn)行 cms 環(huán)境初始化,引入頭文件,函數(shù)定義等,登錄驗(yàn)證,權(quán)限檢查,日志記錄等操作,最后再根據(jù)訪問參數(shù)包含(include)對應(yīng)的后臺(tái)功能控制器文件.

/admin.php 的訪問參數(shù)有三個(gè):mod,file,代表后臺(tái)功能控制器文件所屬的模塊及其文件名,當(dāng) mod=phpcms 或?yàn)榭諘r(shí)表示 cms 的后臺(tái)功能,這時(shí)便是從 /admin 目錄中查找對應(yīng)的后臺(tái)功能控制器文件.

eg. /admin.php?mod=phpcms&file=content&action=manage&catid=599

mod=phpcms 表示從 /admin 目錄中找控制器文件,file=content 表示控制器文件名為 content.inc.php.

所以,訪問這個(gè)地址會(huì)包含 /admin/content.inc.php 文件,從而運(yùn)行這個(gè)后臺(tái)功能控制器的代碼.

為了減少控制器文件的數(shù)量,后臺(tái)功能控制器文件會(huì)把多個(gè)操作都寫在一個(gè)控制器文件中,比如 content.inc.php 這個(gè)控制器就包含了所有文章操作的后臺(tái)功能,如添加,修改,刪除,審核,列表,搜索,回收站等等等,再根據(jù)瀏覽器 action 參數(shù)值決定進(jìn)行哪一個(gè)操作.

控制器中使用 switch 語句判斷 action 參數(shù)值并進(jìn)行相應(yīng)操作,具體流程與實(shí)現(xiàn)參考 /admin.php, /admin/content.inc.php 源代碼.

# include 目錄

include 目錄用于存放函數(shù)定義文件,類定義文件,配置文件等非直接執(zhí)行的流程文件.

eg. global.func.php

此為函數(shù)定義文件,此文件中定義的是整個(gè) cms 中通用的函數(shù),學(xué)習(xí) cms 必讀的文件.文件名后序?yàn)?.func.php

eg. /include/tree.class.php

此文件為類定義文件,文件名后序?yàn)?.class.php,tree 則為類名.

eg. config.inc.php

此為非類或函數(shù)定義,但用于 include 的文件,文件名后序?yàn)?.inc.php,此文件是 cms 的配置文件,里面是 cms 所有常量配置項(xiàng),學(xué)習(xí) cms 必讀文件.

eg. py.dat

這類文件保存的是一些數(shù)據(jù),所以也放于 include 目錄中.

/include/admin 目錄中保存的文件意為后臺(tái)用到的文件.

eg. /include/admin/global.func.php

整個(gè) cms 后臺(tái)中通用的函數(shù),學(xué)習(xí) cms 必讀的文件.

/include/fields 目錄保存的是 cms 模型字段類型定義文件,這部份說明留在后面的文檔中說明.Vevb.com

學(xué)習(xí) cms,基本上需要把 /include 中的文件都看一次.

# templates 目錄

templates 目錄存放前臺(tái)頁面用到的模板,文件名后序?yàn)?.html,目錄中第一層表示模板風(fēng)格:

eg. /templates/default/:默認(rèn)風(fēng)格

eg. /templates/yj518/:yj518風(fēng)格

在風(fēng)格目錄下,模板按模塊分,每個(gè)模塊的模板文件保存在以模塊名命名的目錄下.

eg. /templates/yj518/phpcms/:phpcms 模塊的模板

eg. /templates/yj518/comment/:comment 模塊的模板。

# data 目錄

data 目錄保存的是文件緩存文件。實(shí)際上,文件緩存文件保存目錄都由 /include/config.inc.php 中的常量進(jìn)行定義,如 CACHE_PATH 常量定義的就是緩存默認(rèn)路徑,只不過 cms 默認(rèn)把所有緩存類的目錄都放在 data 目錄之下。

因?yàn)樵创a會(huì)使用 SVN 進(jìn)行版本管理,但緩存文件并不屬于源代碼,而且 data 目錄通常很容易就達(dá)到數(shù)十M以上,把這些文件加入版本管理并不合適。

另外,在上傳源代碼到服務(wù)器時(shí),需要處處小心避免上傳緩存文件到服務(wù)器,因?yàn)榫彺嫖募彺娴氖菙?shù)據(jù)庫的數(shù)據(jù),本地與服務(wù)器上的數(shù)據(jù)不一樣,上傳了緩存文件很可能導(dǎo)至服務(wù)器 cms 運(yùn)行出錯(cuò)。

所以,data 目錄放到源代碼目錄之外,則 /../data. 現(xiàn)在源代碼目錄一般為 phproot,則 data 目錄的位置為: phproot/../data,與 phproot 同級(jí).

# images 目錄

images 保存的是網(wǎng)頁中要用到的一些靜態(tài)文件,如 js 文件,css 文件,圖片文件等.

/imgages/js 目錄存放的是 js

其它一般是圖片或 css 文件.

# uploadfile 目錄

uploadfile 目錄存放的是通過瀏覽器上傳的文件,基本都是圖片文件,容量非常大,服務(wù)器上此目錄達(dá)到 30G 上下.

命名規(guī)則為:年/月日/年月日+隨機(jī)數(shù)字.文件后序.

eg./uploadfile/2011/0104/20110104121650167.jpg

基于與 data 目錄一樣的原因,uploadfile 目錄同樣是放到源代碼目錄之外.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 姚安县| 临猗县| 长春市| 锡林浩特市| 青田县| 凉山| 龙口市| 托里县| 大田县| 博客| 彭水| 连南| 曲麻莱县| 苏尼特左旗| 揭东县| 会理县| 开化县| 北川| 石棉县| 安庆市| 扶风县| 兴国县| 镇巴县| 安达市| 错那县| 耿马| 咸丰县| 同江市| 武清区| 石棉县| 会理县| 仁化县| 百色市| 枝江市| 南阳市| 闻喜县| 闻喜县| 依安县| 乳山市| 麻城市| 临洮县|