目录结构
发布时间:2026-10-25 | 浏览:1
NIUCLOUD是一款SaaS管理后台框架 多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告 >[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 命令行入口文件 ~~~ ## 多应用模式(扩展) 如果你需要一个多应用的项目架构,目录结构可以参考下面的结构进行调整(关于配置文件的详细结构参考后面章节),但首先需要安装ThinkPHP的多应用扩展,具体可以参考[多应用模式](%E5%A4%9A%E5%BA%94%E7%94%A8%E6%A8%A1%E5%BC%8F.md)。 ~~~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`服务提供定义文件只能全局定义,不支持在应用下单独定义 序言 基础 安装 开发规范 目录结构 配置 架构 请求流程 架构总览 入口文件 多应用模式 URL访问 容器和依赖注入 服务 门面 中间件 事件 路由 路由定义 变量规则 路由地址 路由参数 路由中间件 路由分组 资源路由 注解路由 路由绑定 域名路由 MISS路由 跨域请求 URL生成 控制器 控制器定义 基础控制器 空控制器 资源控制器 控制器中间件 请求 请求对象 请求信息 输入变量 请求类型 HTTP头信息 伪静态 参数绑定 请求缓存 响应 响应输出 响应参数 重定向 文件下载 数据库 连接数据库 分布式数据库 查询构造器 查询数据 添加数据 更新数据 删除数据 查询表达式 链式操作 where table alias field strict limit page order group having join union distinct lock cache cacheAlways comment fetchSql force partition failException sequence replace extra duplicate procedure 聚合查询 分页查询 时间查询 高级查询 视图查询 JSON字段 子查询 原生查询 获取查询参数 查询事件 获取器 事务操作 存储过程 数据集 数据库驱动 模型 定义 模型字段 新增 更新 删除 查询 查询范围 JSON字段 获取器 修改器 搜索器 数据集 自动时间戳 只读字段 软删除 类型转换 模型输出 模型事件 模型关联 一对一关联 一对多关联 远程一对多 远程一对一 多对多关联 多态关联 关联预载入 关联统计 关联输出 虚拟模型 视图 模板变量 视图过滤 模板渲染 模板引擎 视图驱动 错误和日志 异常处理 日志处理 调试 调试模式 Trace调试 SQL调试 变量调试 远程调试 验证 验证器 验证规则 错误信息 验证场景 路由验证 内置规则 表单令牌 注解验证 杂项 缓存 Session Cookie 多语言 上传 命令行 启动内置服务器 查看版本 自动生成应用目录 创建类库文件 清除缓存文件 生成数据表字段缓存 生成路由映射缓存 输出路由定义 自定义指令 Debug输出级别 扩展库 数据库迁移工具 Workerman think助手工具库 验证码 Swoole 附录 助手函数 升级指导 更新日志