本书未发布

29. 目录结构

未匹配的标注

简介

在本节里,我们给大家介绍一下 ThinkPHP 生成目录结构以及 ThinkBBS 的目录结构。

ThinkPHP项目目录结构

ThinkPHP 默认创建的项目是多模块模式,以下是 ThinkPHP 为我们生成的 ThinkBBS 项目目录结构,其中带「*」标记文件或目录是因为框架版本的迭代而在官方文档的目录结构里没有列出的内容。有关目录结构更多介绍请阅读 官方项目目录结构说明。

.                       项目根目录
├─application           应用目录
│  ├─index              Index模块目录(项目默认模块)
│  │  └─controller      控制器目录
│  │    └─ index.php    index控制器(模块默认控制器)
│  │
│  ├─command.php        命令行定义文件
│  ├─common.php         公共函数文件
│  ├─provider.php       服务提供者文件(用于定义批量绑定)
│  └─tags.php           应用行为扩展定义文件
│
├─config                应用配置目录
│  │
│  ├─app.php            应用配置
│  ├─cache.php          缓存配置
│  ├─console.php        控制台配置
│  ├─cookie.php         Cookie配置
│  ├─database.php       数据库配置
│  ├─log.php            日志配置
│  ├─middleware.php     *中间件配置
│  ├─session.php        Session配置
│  ├─template.php       模板引擎配置
│  └─trace.php          Trace配置
│
├─route                 路由定义目录
│  └─route.php          路由定义
│
├─public                WEB目录(对外访问目录)
│  ├─index.php          入口文件
│  ├─router.php         快速测试文件
│  ├─.htaccess          用于apache的重写
│  └─static             *静态资源文件目录
│
├─thinkphp              框架系统目录
│  ├─lang               语言文件目录
│  ├─library            框架类库目录
│  │  ├─think           Think类库包目录
│  │  └─traits          系统Trait目录
│  │
│  ├─tpl                系统模板目录
│  ├─base.php           基础定义文件
│  ├─convention.php     框架惯例配置文件
│  ├─helper.php         助手函数文件
│  └─logo.png           框架LOGO文件
│
├─extend                扩展类库目录
├─runtime               应用的运行时目录(可写,可定制)
├─vendor                第三方类库目录(Composer依赖库)
├─build.php             自动生成定义文件(参考)
├─composer.json         composer 定义文件
├─LICENSE.txt           授权说明文件
├─README.md             README 文件
├─think                 命令行入口文件

ThinkBBS 目录结构

遵循 开发规范 , 在本教程里我们按多模块模式来开发 ThinkBBS。采用多模块模式开发时,我们会创建以下三个模块:

  1. 后台模块(admin)—— 主要实现后台管理页面,通常只有控制器和视图模板代码;
  2. 前台模块(index)—— 主要实现前台用户页面,通常也只有控制器和视图模板代码;
  3. 共用模块(common)—— 主要包含前后台模块共用的数据模型(model)、验证器(validate)和观察者(observer)等内容代码。

以下是本项目各模块结构示意:

大家不用现在按下面结构创建各模块目录和文件,在接下来开发过程我们会在用到时再创建相应目录和文件。

.                       ThinkBBS 项目根目录
├─application           应用目录
│  ├─admin              后台模块目录(项目默认模块)
│  │  ├─controller      后台控制器目录
│  │  │ ├─ Topic.php    后台话题管理控制器类
│  │  │ └─ ...          后台其它控制器类
│  │  │
│  │  └─view            后台模块视图模板目录
│  │    ├─ topic        后台话题视图模板目录
│  │    └─ ...          后台其它视图模板目录
│  │
│  ├─common             公共模块
│  │  ├─exception       异常目录
│  │  │
│  │  ├─model           数据模型目录
│  │  │ ├─ Topic.php    话题数据模型类
│  │  │ └─ ...          其它数据模型类
│  │  │
│  │  ├─observer        观察者目录
│  │  │ ├─ Topic.php    话题观察者类
│  │  │ └─ ...          其它观察者类
│  │  │
│  │  └─validate        验证器目录
│  │    ├─ Topic        话题验证器类
│  │    └─ ...          其它验证器类
│  │
│  ├─index              前台模块目录(项目默认模块)
│  │  ├─controller      前台控制器目录
│  │  │ ├─ topic.php    前台话题管理控制器类
│  │  │ └─ ...          前台其它控制器前
│  │  │
│  │  └─view            前台模块视图模板目录
│  │    ├─ topic        前台话题视图模板目录
│  │    └─ ...          前台其它视图模板目录

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~