目录结构

目录结构

8.0支持多应用模式部署,所以实际的目录结构取决于你采用的是单应用还是多应用模式,分别说明如下。

单应用模式

默认安装后的目录结构就是一个单应用模式

www  WEB部署目录(或者子目录)
├─app   应用目录
│  ├─controller  控制器目录
│  ├─model   模型目录
│  ├─ ...更多类库目录
│  │
│  ├─common.php 公共函数文件
│  └─event.php  事件定义文件
│
├─config配置目录
│  ├─app.php应用配置
│  ├─cache.php  缓存配置
│  ├─console.php控制台配置
│  ├─cookie.php Cookie配置
│  ├─database.php   数据库配置
│  ├─filesystem.php 文件磁盘配置
│  ├─lang.php   多语言配置
│  ├─log.php日志配置
│  ├─middleware.php 中间件配置
│  ├─route.php  URL和路由配置
│  ├─session.phpSession配置
│  ├─trace.php  Trace配置
│  └─view.php   视图配置
│
├─view视图目录
├─route 路由定义目录
│  ├─route.php  路由定义文件
│  └─ ...   
│
├─publicWEB目录(对外访问目录)
│  ├─index.php  入口文件
│  ├─router.php 快速测试文件
│  └─.htaccess  用于apache的重写
│
├─extend扩展类库目录
├─runtime   应用的运行时目录(可写,可定制)
├─vendorComposer类库目录
├─.example.env  环境变量示例文件
├─composer.json composer 定义文件
├─LICENSE.txt   授权说明文件
├─README.md README 文件
├─think 命令行入口文件

多应用模式(扩展)

如果你需要一个多应用的项目架构,目录结构可以参考下面的结构进行调整(关于配置文件的详细结构参考后面章节),但首先需要安装ThinkPHP的多应用扩展,具体可以参考多应用模式

www  WEB部署目录(或者子目录)
├─app   应用目录
│  ├─app_name   应用目录
│  │  ├─common.php  函数文件
│  │  ├─controller  控制器目录
│  │  ├─model   模型目录
│  │  ├─view视图目录
│  │  ├─config  配置目录
│  │  ├─route   路由目录
│  │  └─ ...更多类库目录
│  │
│  ├─common.php 公共函数文件
│  └─event.php  事件定义文件
│
├─config全局配置目录
│  ├─app.php应用配置
│  ├─cache.php  缓存配置
│  ├─console.php控制台配置
│  ├─cookie.php Cookie配置
│  ├─database.php   数据库配置
│  ├─filesystem.php 文件磁盘配置
│  ├─lang.php   多语言配置
│  ├─log.php日志配置
│  ├─middleware.php 中间件配置
│  ├─route.php  URL和路由配置
│  ├─session.phpSession配置
│  ├─trace.php  Trace配置
│  └─view.php   视图配置
│
├─publicWEB目录(对外访问目录)
│  ├─index.php  入口文件
│  ├─router.php 快速测试文件
│  └─.htaccess  用于apache的重写
│
├─extend扩展类库目录
├─runtime   应用的运行时目录(可写,可定制)
├─vendorComposer类库目录
├─.example.env  环境变量示例文件
├─composer.json composer 定义文件
├─LICENSE.txt   授权说明文件
├─README.md README 文件
├─think 命令行入口文件

多应用模式部署后,记得删除app目录下的controller目录(系统根据该目录作为判断是否单应用的依据)。

在实际的部署中,请确保只有public目录可以对外访问。

mac或者linux环境下面,注意需要设置runtime目录权限为777。

默认应用文件

默认安装后,app目录下会包含下面的文件。

├─app   应用目录
│  │
│  ├─BaseController.php默认基础控制器类
│  ├─ExceptionHandle.php   应用异常定义文件
│  ├─common.php全局公共函数文件
│  ├─middleware.php全局中间件定义文件
│  ├─provider.php  服务提供定义文件
│  ├─Request.php   应用请求对象
│  └─event.php 全局事件定义文件

BaseController.phpRequest.phpExceptionHandle.php三个文件是系统默认提供的基础文件,位置你可以随意移动,但注意要同步调整类的命名空间。如果你不需要使用Request.phpExceptionHandle.php文件,或者要调整类名,记得必须同步调整provider.php文件中的容器对象绑定。

provider.php服务提供定义文件只能全局定义,不支持在应用下单独定义