目录结构

最后更新于:2022-04-02 07:48:06

>[info] 相对于`5.1`来说,`6.0`版本目录结构的主要变化是核心框架纳入`vendor`目录,然后原来的`application`目录变成`app`目录。 `6.0`支持多应用模式部署,所以实际的目录结构取决于你采用的是单应用还是多应用模式,分别说明如下。 ## 单应用模式 默认安装后的目录结构就是一个单应用模式 ~~~cmd 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 命令行入口文件 ~~~ ## 多应用模式 如果你需要一个多应用的项目架构,目录结构可以参考下面的结构进行调整(关于配置文件的详细结构参考后面章节)。 ~~~cmd 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 命令行入口文件 ~~~ >[danger] 多应用模式部署后,记得删除`app`目录下的`controller`目录(系统根据该目录作为判断是否单应用的依据)。 在实际的部署中,请确保只有`public`目录可以对外访问。 >[danger] 在`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`文件中的容器对象绑定。 >[danger] `provider.php`服务提供定义文件只能全局定义,不支持在应用下单独定义
';