文档索引 » QeePHP 快速入门 » 起步 » 应用目录结构

目录结构

刚刚新建好的应用程序具有如下的目录结构:

应用程序的目录结构

如果创建应用程序时根据实际情境选择了不同的方案,那么目录结构看上去会有所不同。

顶层目录结构

应用程序顶层目录较多,每个目录的详细说明:

  • _code

    保存应用程序主要代码的目录,包括控制器、模型、视图、表单、用户界面控件、助手等。

  • _config

    保存应用程序的所有配置文件。

  • _core

    Qee的内核代码

  • _devel

    保存应用程序的文档和数据库脚本文件,通常是一些 .sql 文件。

  • _tmp

    保存应用程序运行期间产生的日志文件和临时文件。

  • public

    保存应用程序的图片等静态文件。

  • index.php

    入口文件

app 子目录

上述目录中,app 目录中的子目录需要详细说明:

app 子目录的结构

controller

这个目录保存了控制器的代码。每一个控制器文件的命名方式都是“控制器名.php”,文件名一律全小写。例如 posts 控制器的对应文件是 controller/posts.php。

事实上,QeePHP 的所有文件都是全小写文件名,这可以避免在 Linux/Unix 服务器上出现文件名大小写导致的错误。QeePHP 应用程序除了第三方库文件,其他文件也全部是小写文件名。

model

模型代码所在目录,model/behavior/ 目录中是模型的行为插件代码。模型文件的命名方式是“模型类名称.php“,文件名同样是全小写。

要注意的是如果模型类名称中包含下划线“_”,那么应该在 model 下建立相应的子目录来存储。例如模型的类名称是“Forum_Thread“,那么这个模型的文件名应该是 forum/thread.php。其完整路径就是 /_code/model/forum/thread.php。

有关类名称和目录结构及文件名的关系,请参考开发指南相关章节。

view

应用程序视图文件所在目录。视图文件目录下有两个特殊目录: _elements 和 _layouts。分别用于存储视图片段文件和布局视图文件。有关这两个目录中文件的命名规则会在教程后续部分用到时说明。

除了两个特殊目录,视图目录下会有与每一个控制器同名的子目录。例如 posts 控制器对应的视图目录就是 view/posts/,该目录中的文件名则和控制器动作的名称一致。

控制器动作的解释请继续阅读本教程,会在 MVC 模式章节进行说明。

control

用户界面控件是 QeePHP 中实现用户界面组件化的强大工具。大部分应用程序都会创建自己的用户界面控件。由于用户界面控件的类名称都是“Control_”开头,所以控件的代码都存储在该目录中。

如果控件名称是“Control_LatestPosts”,则对应文件是 control/latestposts.php。除了控件代码,控件的视图也可以存储在该目录中,通常命名为 control/latestposts_view.php。

后续在项目中,控件无法满足复杂的表单需求,没有继续使用,可以跳过或者忽略

helper

应用程序自己的助手类可以放在该目录中。类名称为“Helper_Text”的助手对应文件是 helper/text.php。

lib

保存应用程序用到的第三方库文件,例如 Swift 邮件库。

_config

保存应用配置相关文件,例如:数据库连接等。

myapp.php

封装了应用程序的Web端的基本MVC流程和初始化操作,并为应用程序提供一些公共服务。后面的章节将会深入讲解。

cli.php

封装了应用程序的终端的基本MVC流程和初始化操作,并为应用程序提供一些公共服务。后面的章节将会深入讲解。

后续在项目中,控件无法满足复杂的表单需求,没有继续使用,可以跳过或者忽略