phpcms v9框架的目录结构分析

phpcms v9框架的目录结构分析:  
  
了解v9框架的目录结构,有助于帮助我们快速建立起对v9框架的一个整体认识

打开"mycms"项目,有如下文件和目录  
  
使用协议说明文档、英文版的用户手册,这两项不是项目所必须的,可暂时将其删除

|-----api  接口文件目录

|-----caches 缓存文件目录  
    |-----configs
系统配置文件目录  
    
   |-----database.php  数据库配置文件

|-----route.php 
   路由配置文件

|-----system.php 
 
系统配置文件  
    
   |-----cache.php 
   缓存配置文件

|-----configs_* 
  
  
 系统缓存文件目录

|-----configs_commons/caches_data 
 主要用来存放后台设置的配置信息

|-----category_content.cache.php栏目与站点映射所对应的配置文件

|-----category_content_1.cache.php站点1下所有栏目的详细配置信息

|-----category_item_1.cache.php
文章模型下各栏目所对应的数据量  
    
  
  
 |-----category_item_2.cache.php
下载模型下各栏目所对应的数据量  
    
  
  
 |-----category_item_3.cache.php
图片模型下各栏目所对应的数据量  
    
  
  
 |-----keylink.cache.php 
   关联链接配置缓存文件

|-----model.cache.php 
    
三大模型配置缓存文件  
    
  
  
 |-----mood_program.cache.php 
 
表情配置缓存文件  
    
  
  
 |-----position.cache.php 
 
推荐位配置缓存文件  
    
  
  
 |-----poster_template_1.cache.php广告位模板配置缓存文件

|-----sitelist.cache.php 
 
站点列表配置文件,主要缓存所有站点的基本配置信息

|-----type_content.cache.php 
 
多个站点下的类别配置信息  
    
  
  
 |-----type_content_1.cache.php  当前站点下类别配置信息缓存文件

|-----urlrules.cache.php 
 
url规则配置信息缓存文件  
    
  
  
 |-----urlrules_detail.cache.php
url规则详细配置信息缓存文件  
    
  
  
 |-----special.cache.php 
   专题配置信息缓存文件

|-----role.cache.php 
  
   角色配置缓存文件

|-----link.cache.php 
  
   友情链接缓存文件

|-----configs_model/caches_data

|-----content_form.class.php 
 
生成表单的类库缓存文件  
    
  
  
 |-----content_input.class.php 
 入库时,对表单数据进行验证的类库缓存文件

|-----content_output.class.php  对从数据表中查询出来的数据进行处理的函数

|-----content_update.class.php  对要更新的数据进行有效性验证的函数

|-----model_field_1.cache.php 
 文章模型所有模型字段的缓存信息

|-----model_field_2.cache.php 
 下载模型所有模型字段的缓存信息

|-----model_field_3.cache.php 
 图片模型所有模型字段的缓存信息

|-----phpcms    
  
  
  
  
  
  
 phpcms框架主目录

|-----languages 
  
  
  
  
  
 框架语言包目录

|-----libs 
  
  
  
  
    
框架主类库、主函数库目录  
    
   |-----classes

|-----form.class.php 
 
表单生成类库文件  
    
  
  
 |-----application.class.php
应用程序类库文件  
    
  
  
 |-----image.class.php 
    
图片处理类库文件  
    
  
  
 |-----attachment.class.php  附件处理类库文件

|-----param.class.php 
    
URL参数处理类库文件  
    
   |-----functions

|-----global.func.php 
    
公共函数库文件  
    
  
  
 |-----extension.class.php 
 扩展函数库文件

|-----model 
  
  
  
  
  
 框架数据库模型目录

|-----content_model.class.php 
    
内容模型文件  
    
   |-----admin_model.class.php 
   管理员模型文件

|-----attachment_model.class.php 
 
附件模型文件  
    
  |-----modules 
  
  
  
  
  
   框架模块目录

|-----admin 
  
  
    
admin模块   
    
  
  
 |-----index.php 
  
  
 index.php控制器文件

|-----content 
  
  
  
  
 content模块

|-----classes 
  
  
   content模块通用类库

|-----fields 
  
  
  
 content模块模型字段

|-----functions 
  
  
 content模块通用函数库

|-----templates 
  
  
 content模块后台模板文件

|-----index.php 
  
  
 index.php控制器文件

|-----templates 
  
  
  
  
  
 框架系统前台模板目录

|-----default 
  
  
  
  
 默认的模板风格

|-----content 
  
  
   content模块模板目录

|-----category.html
频道页模板文件  
    
  
  
    
|-----list.html 
   列表页模板文件

|-----show.html 
   内容页模板文件

|-----config.php 
  
   模板配置文件

|-----phpsso_server 
  
  
  
  
   phpsso主目录

|-----statics 
  
  
  
  
  
  
   网站素材文件目录

|-----css 
  
  
  
  
  
  
  
  
  
  
   css文件

|-----images 
  
  
  
  
  
   images文件

|-----js 
  
  
  
  
  
   js文件

|-----uploadfile 
  
  
  
  
  
   上传附件

|-----admin.php 
  
  
  
  
  
  
 后台入口文件

|-----index.php 
  
  
  
  
  
  
 前台入口文件

phpcms v9中的url路由规则:  
  
  
浏览器中输入 http://www.mycms.com/index.php?m
...
;a=list&catid=1  回车时,默认情况下会找到

phpcms    
  
  
  
  
 框架主目录

|-----modules 
  
  
  
  
 模块目录

|-----content 
  
  
   content模块

|-----index.php 
   index.php控制器中list方法来显示列表页面

到底是不是呢?我们打开index.php控制器文件,并在index方法中添加一些代码,运行输出,证明确实如我们所料

我们可以将浏览器中的url归纳如下:  
http://域名/入口文件?m=模块名&c=控制器&a=方法名&catid=参数值

当我们在浏览器中输入http://www.myshop.com/index.php 后面没有跟任何参数,
回车时,默认情下会将首页显示出来  
  
这是因为phpcms
v9为我们指定了一个默认执行的模块、控制器和方法

默认控制器的设置在 "caches/configs/routes.php"
配置文件中进行设置的,我们可以重新设置默认的控制器

六、栏目的添加  
  
1、pc设计者认为,栏目详情页的数据都应该属于一个模型,所以在添加栏目时,必须给栏目指定一个模型,至于要选择什么模型,完全取决于栏目详情页要显示什么类型的内容

详情页:文章信息类的内容 
   文章模型

详情页:图片类信息 
  
  
  
 图片模型

详情页:下载东西 
  
  
 下载模型

详情页:播放视频 
  
  
 视频模型

2、如果以上模型还不能满足项目的需要,那么我们还可以自定义模型,通常情况下,一个网站是由多种模型的数据来组成的

3、栏目添加选项:  
  
栏目名称:在网站静态化时,创建一个以此目录名命名的目录来存放当前栏目下相关的模板文件

4、pc的设计者认为,每个栏目会对应当前所选模型的三个模板文件:

频道页模板文件  
  
列表页模板文件  
  
内容页模板文件  
  
  
这些模板文件所在位置:phpcms/templates/default/content/
目录下,如果想修改模板文件,只需要到此目录下找到对应的模板文件进行修改就可以了

频道页:category_*.html  
列表页:list_*.html  
内容页:show_*.html  
  
至此,栏目各页面与模型的三个模板文件对应起来了

注意:频道页面的显示是有条件的(当前栏目必须有子栏目才可以)

5、栏目添加成功后,栏目信息被存储到了v9_category数据表中,同时还被缓存到了phpcms/caches/caches_common
/category_content.cache.php文件中,这个缓存文件非常重要,一定要引起足够的重视,前台的很多数据都是直接从此缓存文件中获
取来的

七、项目的部署:  
  
1、素材文件:  
  
statics  
   
|-----images  
    
   |-----cmsimages 
   项目图片文件

|-----js  
    
   |-----cmsjs 
   项目js文件

|-----css  
    
   |-----cmscss 
  
   项目css文件

phpcms  
   
|-----templates  
    
   |-----new 
    
新的模板风格  
    
  
  
 |-----content 
 内容模块模板文件

|-----category.html
频道页模板文件  
    
  
  
    
|-----list.html 
   列表页模板文件

|-----show.html 
   内容页模板文件

|-----config.php 
  
   添加模板文件的配置

或者

|-----default

|-----content 
 内容模块模板文件

|-----category_shetu.html 
 频道页模板文件

|-----list_shetu.html 
    
列表页模板文件  
    
  
  
    
|-----show_shetu.html 
    
内容页模板文件  
    
  
  
 |-----config.php 
  
  
  
 配置新添加的模板文件

注意:模板文件的命名规范  
  
  
2、进入后台,将栏目与模板文件对应起来  
  
3、常量的定义:phpcms/base.php文件

4、系统类库、函数库、模型文件及配置文件的加载

pc_base::load_sys_class();//加载系统类库

pc_base::load_sys_func();//加载系统函数库

pc_base::load_model();//加载模型

pc_base::load_config();//加载配置文件或配置选项信息

pc_base::load_app_func();//加载应用程序函数库

pc_base::load_app_class();//加载应用程序类库

全局范围可用,也可以直接在模板文件中使用,在二次开发时,很有用

5、模板语法:  
  
(1)常量表示:  
  
{JS_PATH}//相当于 或者

时间: 2024-10-21 15:58:41

phpcms v9框架的目录结构分析的相关文章

phpcms V9 框架目录结构

phpcms v9框架的目录结构分析: 了解v9框架的目录结构,有助于帮助我们快速建立起对v9框架的一个整体认识 打开"mycms"项目,有如下文件和目录 使用协议说明文档.英文版的用户手册,这两项不是项目所必须的,可暂时将其删除 |-----api  接口文件目录 |-----caches 缓存文件目录 |-----configs 系统配置文件目录 |-----database.php  数据库配置文件 |-----route.php     路由配置文件 |-----system.

PHPCMS后台框架实现思路

PHPCMS后台框架实现思路[原创] 时间 2014-11-27 10:12:19 极客头条原文  http://blogs.zmit.cn/3589.html 1.打开后台入口文件admin.php header('location:index.php?m=admin'); 跳转到index.php并且m=admin 2.打开index.php define('PHPCMS_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR); include PHPCM

phpcms V9的各种功能总结

[1]PHPCMS V9系统目录简析 在研究所有问题之前,请先了解一下系统的文件目录结构,具体如下图所示: [2]想修改默认的模板风格怎么办? PHPCMS V9默认的网页模板在phpcms目录下的templates文件夹.如果想更换模板,可以根据新模板的文件组织结构,分别覆盖default文件夹和static文件夹.然后到网页后台管理平台,切换网页风格,就可以看到新换的网页模板首页样式. 后台管理操作步骤如下:设置-->站点管理-->修改-->模板风格配置(切换风格,当然风格由自己提前

PHPCMS V9 学习总结(转)

转自:http://www.cnblogs.com/Braveliu/p/5074930.html 在实现PHPCMS网站过程中,根据业务需求,我们遇到很多问题,特此总结如下,以便大家参考学习. [1]PHPCMS V9系统目录简析 在研究所有问题之前,请先了解一下系统的文件目录结构,具体如下图所示: [2]想修改默认的模板风格怎么办? PHPCMS V9默认的网页模板在phpcms目录下的templates文件夹.如果想更换模板,可以根据新模板的文件组织结构,分别覆盖default文件夹和st

phpcms V9 栏目管理

关于phpcms V9框架系统后台管理之栏目管理,请参见下文的源码分析(添加栏目和修改栏目): 参照添加栏目的界面图示,便于对源代码的理解: 1 <?php 2 3 // 文件路径:phpcms/modules/admin/category.php 控制器,主要用来控制栏目相关的操作 4 5 defined('IN_PHPCMS') or exit('No permission resources.'); 6 pc_base::load_app_class('admin','admin',0);

phpcms V9 添加模块(转)

转自:http://www.cnblogs.com/Braveliu/p/5101345.html 为phpcms创建一个模块的开发流程 [1]创建模块目录 通过前面的学习,我们已经知道phpcms V9框架中的模块位于phcms/modules目录中,每一个目录称之为一个模块. 如果要创建一个模块,只要在 phpcms/modules 目录下创建文件夹并放入你的控制器类就可以了. 例如我要开发一个叫做test的模块,那么首先在 phpcms/modules 目录下创建文件夹,并将其命名为tes

phpcms(1)phpcms V9 MVC模式 与 URL访问解析(转)

[1]URL访问解析 观察访问网页时的网址,可以得出模块访问方法,如下示例: http://www.abcd.com.cn/phpcms/index.php?m=content&c=index&a=show&id=1 关于此URL解析如下: m = content 为模块/模型名称 位于phpcms/modules/content (必须项) c = index 为控制器名称 位于phpcms/modules/content/index.php (必须项) a = show 为事件

PHPCMS V9 模块开发 二次开发实例 留言本

鄙人实现了PHPCMS V9 产品开发权威指南(2011官方最新版).doc中的留言板实例,并加上模块安装和卸载功能, 程序可以运行,但只实现基本功能,目的是想让和我一样徘徊在PHPCMS门口不知道从哪儿进门的初学者走一下流程,欢迎指正! 对于像我这样的入门者希望先把上面这个文档仔细读一遍再往下看! 声明:我用的是GBK版本. 二次开发流程 创建数据库和数据库表(无数据库操作可略过) 创建数据模型文件 创建模块目录 开发控制器和模板 install和uninstall模块 一.创建数据库表 具体

PHPCMS V9数据库表结构分析

PHPCMS V9可以轻松承载百万级的访问数据,最大的功臣就是PHPCMS良好的数据库结构,在数据库的设计方面,一定是下足了功夫. 一般网站的信息量离这个级别相差甚远,但是了解学习一下PHPCMS的数据库结构,对我们也是有好处的. 数据表的默认表前缀是V9_ ,在安装PHPCMS的时候,我们是可以选择修改表前缀的,表前缀的主要作用是数据库中有不同系统的数据表存在时,可以用表前缀来区分出来. V9的数据表命名规范 表前缀_模块名,例如管理员表 v9_admin 表中有具体的字段类型和描述,清晰知道