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. php CI框架目录结构及运行机制

    CI目录结构   CI主要组成部分为,application(应用文件夹).system(系统文件夹)和index.php入口文件.     应用文件夹中主要是存放控制器.模型和视图等,系统文件夹中主 ...

  4. phpcms V9二级目录下分页路径不正确问题的彻底解决方法

    在用phpcms V9做二次开发的时候,我们有时候会把一个栏目生成到根目录下,而且这个栏目又有子栏目,我们生成静态的时候分页会出现问题,就是分页的路径的地址错误.有一种解决方法就是,把这个栏目生成动态 ...

  5. tp 框架目录结构

    ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的.最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布.ThinkPHP从诞生以来一 ...

  6. express框架目录结构

    . ├── app.js ├── bin │   └── www ├── node_modules │   ├── body-parser │   ├── cookie-parser │   ├── ...

  7. laravel框架目录结构详解

  8. PHPCMS V9教程之快速入门

    这篇文章要为大家来介绍PHPCMS V9这个系统的一些基本知识,PHPCMS是基于面向对象的,严格的安装MVC开发模式开发的CMS系统,同时他还是一个非 常不错的PHP框架.下面我们一起看一下PHPC ...

  9. Spring 框架介绍 [Spring 优点][Spring 应用领域][体系结构][目录结构][基础 jar 包]

    您的"关注"和"点赞",是信任,是认可,是支持,是动力...... 如意见相佐,可留言. 本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新. 目录 ...

随机推荐

  1. OpenCV 2.4.13 installed in Ubuntu 14 and CMakeLists Demo

    1. 配置编译器环境 [compiler] sudo apt-get install build-essential 2. 安装OpenCV的依赖包 [required] -dev pkg-confi ...

  2. 《the art of software testing》第六章

    更高级别的测试 模块测试的目的是发现程序模块与其接口规格说明之间的不一致 功能测试的目的是为了证明程序未能符合其外部规格说明 系统测试目的是为了证明软件产品与其初始目标不一致 功能测试,作者从三个方面 ...

  3. asp.net get图

    前段 <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat=& ...

  4. 没有为扩展名“.cshtml”注册的生成提供程序

    新建的mvc4 项目,然后从其他项目里拷贝shared文件夹和_ViewStart.cshtml文件过去,然后在@符号上出现“没有为扩展名“.cshtml”注册的生成提供程序” 解决方法: 需要在项目 ...

  5. Stopwatch运行时间 Parallel并行任务

    using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using S ...

  6. I-team 博客全文检索 Elasticsearch 实战

    一直觉得博客缺点东西,最近还是发现了,当博客慢慢多起来的时候想要找一篇之前写的博客很是麻烦,于是作为后端开发的楼主觉得自己动手丰衣足食,也就有了这次博客全文检索功能Elasticsearch实战,这里 ...

  7. 【大数据之数据仓库】GreenPlum优化器对比测试

    在< [大数据之数据仓库]选型流水记>一文中有提及,当时没有测试GreenPlum的quicklz压缩算法和ORCA查询优化器,考虑到quicklz压缩算法因为版权问题不会开源(详情请参阅 ...

  8. Eclipse下的Hadoop应用开发准备

    window下开发的准备: A.在windows的某个目录下解压一个hadoop的安装包 B.将安装包下的lib和bin目录用对应windows版本平台编译的本地库替换 C.在window系统中配置H ...

  9. Python 集合set()添加删除、交集、并集、集合操作详解

    集合:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次.每个元素的地位都是相同的,元素之间是无序的. 创建集合set python set类是在python的sets模块中,大家现在使 ...

  10. javascript前端导出csv表格

    使用场景 后台统计经常要展示各种各样的表格数据,几乎每个表格展示都会伴随着数据的导出. 之前的解决方案都是通过发起一个相同查询参数(querystring)的导出请求(action=export),由 ...