当前位置:首页 > CMS教程 > phpcms > 列表

phpcms2008 系统结构

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-24 16:54:20 浏览: 评论:0 

# 总结构

phpcms2008(以下简称为cms) 主要分成[PHPCMS核心]和其它[模块]两大部份。

admin, include, templates 三个目录为核心目录。

ask, brand, comment 这类目录则是模块目录,如 ask 目录就是 ask 模块,目录中放的是 ask 模块的源代码.

另外还有 data, images, uploadfile 三个数据目录,data 主要用于保存文件缓存文件,images 保存 JS 及图片文件,uploadfile 保存上传文件.

# admin 目录

admin 目录用于存放[后台功能控制器](*.inc.php)及[后台模板](templates/*.tpl.php)。

在 cms 中,后台功能控制器都通过 /admin.php 文件作为单一入口进行调用了,也就是说,使用后台功能时浏览器访问的都是 /admin.php 文件.

在 /admin.php 文件中主要进行 cms 环境初始化,引入头文件,函数定义等,登录验证,权限检查,日志记录等操作,最后再根据访问参数包含(include)对应的后台功能控制器文件.

/admin.php 的访问参数有三个:mod,file,代表后台功能控制器文件所属的模块及其文件名,当 mod=phpcms 或为空时表示 cms 的后台功能,这时便是从 /admin 目录中查找对应的后台功能控制器文件.

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

mod=phpcms 表示从 /admin 目录中找控制器文件,file=content 表示控制器文件名为 content.inc.php.

所以,访问这个地址会包含 /admin/content.inc.php 文件,从而运行这个后台功能控制器的代码.

为了减少控制器文件的数量,后台功能控制器文件会把多个操作都写在一个控制器文件中,比如 content.inc.php 这个控制器就包含了所有文章操作的后台功能,如添加,修改,删除,审核,列表,搜索,回收站等等等,再根据浏览器 action 参数值决定进行哪一个操作.

控制器中使用 switch 语句判断 action 参数值并进行相应操作,具体流程与实现参考 /admin.php, /admin/content.inc.php 源代码.

# include 目录

include 目录用于存放函数定义文件,类定义文件,配置文件等非直接执行的流程文件.

eg. global.func.php

此为函数定义文件,此文件中定义的是整个 cms 中通用的函数,学习 cms 必读的文件.文件名后序为 .func.php

eg. /include/tree.class.php

此文件为类定义文件,文件名后序为 .class.php,tree 则为类名.

eg. config.inc.php

此为非类或函数定义,但用于 include 的文件,文件名后序为 .inc.php,此文件是 cms 的配置文件,里面是 cms 所有常量配置项,学习 cms 必读文件.

eg. py.dat

这类文件保存的是一些数据,所以也放于 include 目录中.

/include/admin 目录中保存的文件意为后台用到的文件.

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

整个 cms 后台中通用的函数,学习 cms 必读的文件.

/include/fields 目录保存的是 cms 模型字段类型定义文件,这部份说明留在后面的文档中说明.phpfensi.com

学习 cms,基本上需要把 /include 中的文件都看一次.

# templates 目录

templates 目录存放前台页面用到的模板,文件名后序为 .html,目录中第一层表示模板风格:

eg. /templates/default/:默认风格

eg. /templates/yj518/:yj518风格

在风格目录下,模板按模块分,每个模块的模板文件保存在以模块名命名的目录下.

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

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

# data 目录

data 目录保存的是文件缓存文件。实际上,文件缓存文件保存目录都由 /include/config.inc.php 中的常量进行定义,如 CACHE_PATH 常量定义的就是缓存默认路径,只不过 cms 默认把所有缓存类的目录都放在 data 目录之下。

因为源代码会使用 SVN 进行版本管理,但缓存文件并不属于源代码,而且 data 目录通常很容易就达到数十M以上,把这些文件加入版本管理并不合适。

另外,在上传源代码到服务器时,需要处处小心避免上传缓存文件到服务器,因为缓存文件缓存的是数据库的数据,本地与服务器上的数据不一样,上传了缓存文件很可能导至服务器 cms 运行出错。

所以,data 目录放到源代码目录之外,则 /../data. 现在源代码目录一般为 phproot,则 data 目录的位置为: phproot/../data,与 phproot 同级.

# images 目录

images 保存的是网页中要用到的一些静态文件,如 js 文件,css 文件,图片文件等.

/imgages/js 目录存放的是 js

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

# uploadfile 目录

uploadfile 目录存放的是通过浏览器上传的文件,基本都是图片文件,容量非常大,服务器上此目录达到 30G 上下.

命名规则为:年/月日/年月日+随机数字.文件后序.

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

基于与 data 目录一样的原因,uploadfile 目录同样是放到源代码目录之外.

Tags: phpcms结构系统 phpcms系统结构

分享到: