文档章节

php的目录结构

名字已被取
 名字已被取
发布于 2016/03/30 00:07
字数 1847
阅读 117
收藏 1

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();//加载应用程序类库  
  
全局范围可用,也可以直接在模板文件中使用,在二次开发时,很有用  
  


本文转载自:

名字已被取
粉丝 3
博文 44
码字总数 4065
作品 0
杭州
网页/平面设计
私信 提问
PHP 框架--Gaeaphp

Gaeaphp 是一个基于 flightphp 的 PHP 框架 基础 环境要求 php 5.4+ 安装 WebServer,具体配置方法参见Flight按照要求 Php-Memcached扩展,具体配置方法参见pecl 结构设计 项目目录结构 |-ap...

xingshanghe
2015/04/17
733
0
禅道 PHP 框架发布 2.2 版本

大家好,我们非常高兴的向您宣布,禅道php框架2.2版本发布了。该版本主要调整了框架的目录结构,并使用bootstrap重写了框架示例的代码。欢迎大家下载使用。 一、关于禅道php框架 禅道php框架...

炒蚕豆吃蹦豆
2013/05/28
3.1K
32
ThinkPHP/framework

ThinkPHP 5.0 ThinkPHP5在保持快速开发和大道至简的核心理念不变的同时,PHP版本要求提升到5.4,优化核心,减少依赖,基于全新的架构思想和命名空间实现,是ThinkPHP突破原有框架思路的颠覆之...

ThinkPHP
2017/09/07
0
0
Log4php使用指南

一、Log4php简介 Log4php是Log4xx系列日志组件之一,是Log4j迁移到php的版本,主要用来记录日志信息,支持多种输入目的地,包括:日志文件、日志回滚文件、数据库、日志服务器等等;同时,还...

小卒过河
2011/07/14
2.1K
0
yii2.0中隐藏或移除Basic/Web(不修改Apache配置httpd.conf)

译自http://fellowtuts.com/yii/hide-or-remove-basicweb-from-url-in-yii-2-0/ yii是一个非常好的框架,它会自动的做许多事情。我们知道,默认的yii安装会使网站通过类似这样的URL“http://...

木木在路上
2015/05/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

安装lombok 与阿里巴巴扫描规范 与取消扫描

一、安装lombok 1、先下载lombok的jar 放到eclipse的安装路径 2、打开 eclipse.ini文件 添加引入lombok的jar 我这里是这样的: -javaagent:D:\Program Files\eclipse\eclipse\lombok.jar 3、...

jason_kiss
24分钟前
2
0
基于 QML的 串口调试助手

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/weixin_38416696/article/details/80926090 Qt版本 5.10.0...

shzwork
32分钟前
3
0
Python 开发植物大战僵尸游戏

作者:楷楷 链接:https://segmentfault.com/a/1190000019418065 开发思路 完整项目地址: https://github.com/371854496/pygame 更多好玩有趣的python,尽在公众号「Python专栏」,后台回复...

上海小胖
今天
14
0
JVM优化之逃逸分析与分配消除

要了解逃逸分析背后的基本原理,我们先来看下这段有问题的C代码——当然这个是没法用Java来写的: 这段C代码在栈上创建了一个int类型的变量,然后把它的指针作为函数的返回值返回了。这样做是...

onedotdot
今天
3
0
最简单的获取相机拍照的图片

  import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import andr......

MrLins
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部