相对于
5.1
来说,6.0
版本目录结构的主要变化是核心框架纳入vendor
目录,然后原来的application
目录变成app
目录。
6.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.php Session配置│ ├─trace.php Trace配置│ └─view.php 视图配置│├─view 视图目录├─route 路由定义目录│ ├─route.php 路由定义文件│ └─ ...│├─public WEB目录(对外访问目录)│ ├─index.php 入口文件│ ├─router.php 快速测试文件│ └─.htaccess 用于apache的重写│├─extend 扩展类库目录├─runtime 应用的运行时目录(可写,可定制)├─vendor Composer类库目录├─.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.php Session配置│ ├─trace.php Trace配置│ └─view.php 视图配置│├─public WEB目录(对外访问目录)│ ├─index.php 入口文件│ ├─router.php 快速测试文件│ └─.htaccess 用于apache的重写│├─extend 扩展类库目录├─runtime 应用的运行时目录(可写,可定制)├─vendor Composer类库目录├─.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.php
、Request.php
和ExceptionHandle.php
三个文件是系统默认提供的基础文件,位置你可以随意移动,但注意要同步调整类的命名空间。如果你不需要使用Request.php
和ExceptionHandle.php
文件,或者要调整类名,记得必须同步调整provider.php
文件中的容器对象绑定。
provider.php
服务提供定义文件只能全局定义,不支持在应用下单独定义