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

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

  1. phpcms V9 框架目录结构

    phpcms v9框架的目录结构分析:      了解v9框架的目录结构,有助于帮助我们快速建立起对v9框架的一个整体认识 打开"mycms"项目,有如下文件和目录      使用 ...

  2. PHPCMS V9 框架代码分析(入口程序)

    PHPCMS是采用MVC设计模式开发,基于模块和操作的方式进行访问,采用单一入口模式进行项目部署和访问,无论访问任何一个模块或者功能,只有一个统一的入口. 入口程序是在前期处理用户请求的引导程序.它是 ...

  3. PHPCMS V9 学习总结

    在实现PHPCMS网站过程中,根据业务需求,我们遇到很多问题,特此总结如下,以便大家参考学习. [1]PHPCMS V9系统目录简析 在研究所有问题之前,请先了解一下系统的文件目录结构,具体如下图所示 ...

  4. PHPCMS V9 学习总结(转)

    转自:http://www.cnblogs.com/Braveliu/p/5074930.html 在实现PHPCMS网站过程中,根据业务需求,我们遇到很多问题,特此总结如下,以便大家参考学习. [1 ...

  5. phpcms V9 栏目管理

    关于phpcms V9框架系统后台管理之栏目管理,请参见下文的源码分析(添加栏目和修改栏目): 参照添加栏目的界面图示,便于对源代码的理解: <?php // 文件路径:phpcms/modul ...

  6. phpcms V9 添加模块

    为phpcms创建一个模块的开发流程 [1]创建模块目录 通过前面的学习,我们已经知道phpcms V9框架中的模块位于phcms/modules目录中,每一个目录称之为一个模块. 如果要创建一个模块 ...

  7. phpcms V9 MVC模式 与 URL访问解析

    [1]URL访问解析 观察访问网页时的网址,可以得出模块访问方法,如下示例: http://www.abcd.com.cn/phpcms/index.php?m=content&c=index ...

  8. phpcms v9二次开发笔记

    phpcms是基于MVC结构的. 安装: 下载phpcms_v9.5.9_UTF8.zip:新建目录phpcms,将压缩包里install_package目录下所有文件复制到phpcms目录.浏览器输 ...

  9. phpcms V9 添加模块(转)

    转自:http://www.cnblogs.com/Braveliu/p/5101345.html 为phpcms创建一个模块的开发流程 [1]创建模块目录 通过前面的学习,我们已经知道phpcms ...

随机推荐

  1. Windows的自带控件(比如TButton)大多数消息都由它自己处理,Delphi覆盖了那么多WM_函数优先级较低,一般用不上

    在空窗体上放一个TButton,一个TPanel,然后把在TWinControl.WMEraseBkgnd里下断点: procedure TWinControl.WMEraseBkgnd(var Me ...

  2. MFC 用gdi绘制填充多边形区域

    MFC 用gdi绘制填充多边形区域 这里的代码是实现一个三角形的绘制,并用刷子填充颜色 在OnPaint()函数里面 运用的是给定的三角形的三个点,很多个点可以绘制多边形 CBrush br(RGB( ...

  3. [置顶] 简单解析linux下进程通信方法

    linux下的进程通信手段基本上是从Unix平台上的进程通信手段继承而来的.而对Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间 ...

  4. 8086 CPU 寻址方式

    8086 CPU 寻址方式灵活.有以下几种 idata 表示常量 1.   [ idata ] 用一个常量来表示地址,可用于直接定位内存单元,但是在 MASM中要显实在的说明 ds 段寄存器, 比如 ...

  5. JAVA的反射机制学习笔记(二)

    上次写JAVA的反射机制学习笔记(一)的时候,还是7月22号,这些天就瞎忙活了.自己的步伐全然被打乱了~不能继续被动下去.得又一次找到自己的节奏. 4.获取类的Constructor 通过反射机制得到 ...

  6. java.util.zip - Recreating directory structure(转)

    include my own version for your reference. We use this one to zip up photos to download so it works ...

  7. C++著名类库和C++标准库介绍

    C++著名类库 1.C++各大有名库的介绍——C++标准库 2.C++各大有名库的介绍——准标准库Boost 3.C++各大有名库的介绍——GUI 4.C++各大有名库的介绍——网络通信 5.C++各 ...

  8. IT痴汉的工作现状16-职业发展

    回首多年来的工作经历.发现自己的职业发展真是太平庸只是了.就像我的名字张伟,平淡无奇.而我,还是几年前刚入职模样的我,仍然像个涉世未深的矛头小子,相信技术能够改变世界.真是一入IT深似海,为伊消得人憔 ...

  9. OpenCV-Python教程(5、初级滤波内容)

    本篇文章介绍如何用OpenCV-Python来实现初级滤波功能. 提示: 转载请详细注明原作者及出处,谢谢! 本文介绍使用OpenCV-Python实现基本的滤波处理 本文不介绍滤波处理的详细概念,所 ...

  10. Datameer for Hadoop Solution

    Hadoop promises to become a ubiquitous framework for largescale business intelligence, but right now ...