📁 目录结构
ThinkAdmin v6.1 提供清晰的目录结构,支持多应用开发和插件扩展。
🚀 主要特点
- 多应用支持: 支持多个独立的应用目录
- 插件扩展: 支持插件开发和集成
- 自动加载: 支持多种文件的自动加载
- 模块化设计: 采用模块化的目录设计
- 开发友好: 提供友好的开发环境
- 灵活配置: 支持灵活的配置管理
📋 目录说明
📱 应用目录
- app: 应用基础目录,包含所有应用模块
- admin: 后台应用目录(不建议修改,可使用插件更新)
controller/: 控制器目录,包含所有后台管理控制器model/: 数据模型目录,包含系统数据模型view/: 视图模板目录,包含后台页面模板lang/: 语言包目录,包含多语言文件route/: 路由配置目录Service.php: 服务注册文件,用于注册插件菜单等
- index: 默认应用入口,用于前端访问
- wechat: 微信应用目录(不建议修改,可使用插件更新)
controller/: 微信相关控制器model/: 微信数据模型service/: 微信服务类command/: 微信命令行工具Service.php: 微信服务注册文件
⚙️ 配置目录
- config: 全局配置目录
app.php: 应用配置(运行模式、时区等)database.php: 数据库连接配置cache.php: 缓存配置route.php: 路由配置lang.php: 多语言配置log.php: 日志配置session.php: 会话配置view.php: 视图配置cookie.php: Cookie 配置phinx.php: 数据库迁移配置
📁 资源目录
- public: 公共资源目录,Web 服务器根目录
- static: 静态资源目录
extra/: 自定义扩展目录(不会被插件更新覆盖)plugs/: 后台应用插件目录theme/: 后台应用主题目录
- upload: 上传文件存储目录
- index.php: 网站访问入口文件
⚙️ 开发指南
📱 应用开发
- 创建应用: 在
app目录下创建子应用目录 - 应用示例: 如
app/api、app/data、app/user、app/shop等 - 独立开发: 每个应用可以独立开发和维护
🔌 插件开发
- 插件文档: 阅读 插件开发文档
- 插件目录: 插件通常安装在
vendor目录 - 服务注册: 通过 Service 类进行服务注册
📦 文件加载
- 全局文件: 支持全局
sys.php系统文件自动加载 - 应用文件: 支持应用级配置文件自动加载
- 插件文件: 支持插件文件自动加载
🔧 自动加载支持
🌐 全局文件
- sys.php: 全局系统文件,可实现类似 Service 注册功能
- 位置:项目根目录
sys.php - 用途:定义全局函数、注册服务、注册指令等
- 位置:项目根目录
- 配置文件: 支持全局配置文件自动加载
- 语言包: 支持全局语言包自动加载
📱 应用文件
每个应用目录下可以包含以下自动加载文件:
- config/-.php: 应用配置文件(如
config/app.php) - lang/-.php: 应用语言包(如
lang/zh-cn.php) - event.php: 事件配置文件,用于注册事件监听器
- common.php: 公共函数文件,定义应用级公共函数
- provider.php: 服务提供者文件,注册服务容器
- middleware.php: 中间件配置文件,定义应用中间件
🔌 插件文件
- Service.php: 插件服务注册文件
- 位置:插件
src/Service.php或应用Service.php - 用途:注册插件菜单、注册服务、注册事件等
- 位置:插件
- 数据库迁移: 插件
stc/database/目录下的迁移文件会自动复制到database/migrations/ - 静态资源: 插件
stc/public/目录下的文件会自动复制到public/目录
.
├─ app 应用基础目录
│ ├─ admin 后台应用目录( 不建议修改,可使用插件更新 )
│ │ ├─ controller 应用控制器目录
│ │ │ ├─ api API 接口控制器
│ │ │ ├─ Index.php 后台首页控制器
│ │ │ ├─ Login.php 登录控制器
│ │ │ ├─ User.php 用户管理控制器
│ │ │ ├─ Menu.php 菜单管理控制器
│ │ │ ├─ Auth.php 权限管理控制器
│ │ │ ├─ Config.php 系统配置控制器
│ │ │ ├─ Queue.php 任务管理控制器
│ │ │ ├─ File.php 文件管理控制器
│ │ │ ├─ Oplog.php 操作日志控制器
│ │ │ └─ Base.php 数据字典控制器
│ │ ├─ lang 应用语言包目录
│ │ ├─ route 应用路由配置
│ │ ├─ view 应用视图目录
│ │ └─ Service.php 服务注册文件
│ ├─ index 默认应用入口
│ │ └─ controller 控制器目录
│ └─ wechat 微信应用目录( 不建议修改,可使用插件更新 )
│ ├─ command 应用指令目录
│ ├─ controller 应用控制器目录
│ ├─ model 数据模型目录
│ ├─ service 应用服务目录
│ ├─ lang 应用语言包目录
│ ├─ view 应用视图目录
│ └─ Service.php 服务注册文件
├─ config 全局配置目录
│ ├─ app.php 全局应用配置
│ ├─ cache.php 全局缓存配置
│ ├─ cookie.php 全局 Cookie 配置
│ ├─ database.php 数据库连接配置
│ ├─ phinx.php 数据库迁移配置
│ ├─ lang.php 系统多语言配置
│ ├─ log.php 全局日志配置
│ ├─ route.php 路由和URL配置
│ ├─ session.php 访问会话配置
│ └─ view.php 视图模板配置
├─ public 网站开放目录
│ ├─ static 静态资源目录
│ │ ├─ extra 自定义扩展目录
│ │ ├─ plugs 后台应用插件( 不建议修改,可使用插件更新 )
│ │ └─ theme 后台应用主题( 不建议修改,可使用插件更新 )
│ ├─ upload 上传存储目录
│ ├─ index.php 网站访问入口( 不建议修改,可使用插件更新 )
│ ├─ router.php 网站测试入口( 不建议修改,可使用插件更新 )
│ └─ think 指令访问入口( 不建议修改,可使用插件更新 )
├─ runtime 运行环境目录,需要可写权限
│ ├─ admin 系统应用运行目录
│ ├─ cache 系统默认缓存目录
│ ├─ log 系统运行日志目录
│ ├─ session Session 会话缓存
│ └─ wechat 微信运行目录缓存
├─ safefile 安全文件上传目录,需要读写权限
└─ vendor Composer 安装的第三方类库目录