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}//相当于 或者

上一篇:Xamarin.Forms项目无法添加服务引用


下一篇:SparkSQL使用之如何使用UDF