Heim  >  Artikel  >  Backend-Entwicklung  >  php的目录结构

php的目录结构

WBOY
WBOYOriginal
2016-06-23 13:12:311189Durchsuche

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


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn