thinkphp6目录结构
2023-03-29 23:03:03
315
{{single.collect_count}}

简介

相对于5.1来说,6.0版本目录结构的主要变化是核心框架纳入vendor目录,然后原来的application目录变成app目录。
6.0支持多应用模式部署,所以实际的目录结构取决于你采用的是单应用还是多应用模式,分别说明如下。

在这里插入图片描述

单应用模式

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

wwwWEB部署目录(或者子目录)├─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.phpURL和路由配置│├─session.phpSession配置│├─trace.phpTrace配置│└─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 命令行入口文件

多应用模式

如果你需要一个多应用的项目架构,目录结构可以参考下面的结构进行调整(关于配置文件的详细结构参考后面章节)

wwwWEB部署目录(或者子目录)├─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.phpURL和路由配置│├─session.phpSession配置│├─trace.phpTrace配置│└─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.php、Request.php 和ExceptionHandle.php三个文件是系统默认提供的基础文件,位置你可以随意移动,但注意要同步调整类的命名空间。如果你不需要使用Request.php 和ExceptionHandle.php文件,或者要调整类名,记得必须同步调整provider.php文件中的容器对象绑定。

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

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}