45 lines
1.8 KiB
Markdown
45 lines
1.8 KiB
Markdown
# 框架介绍
|
|
|
|
YwxApp 是一套基于 **ThinkPHP 8** 构建的多应用业务框架,核心目标是让「业务代码」与「扩展能力」彻底解耦。
|
|
|
|
## 设计理念
|
|
|
|
传统 PHP 项目做二次开发时,往往需要直接改动核心代码,导致后续升级困难。YwxApp 通过**事件驱动的插件机制**解决这个问题:
|
|
|
|
- 核心框架只负责触发事件(钩子)
|
|
- 插件通过订阅器监听事件并注入自己的逻辑
|
|
- 卸载插件后核心代码完全不受影响
|
|
|
|
## 核心特性
|
|
|
|
| 特性 | 说明 |
|
|
| --- | --- |
|
|
| 插件机制 | 基于事件订阅器的热插拔插件,钩子自动注册 |
|
|
| 多应用架构 | api / backend / member / frontend / site 应用隔离 |
|
|
| 插件市场 | 中心站分发、客户机在线安装与升级 |
|
|
| 会员与支付 | 免签支付 + 会员开通事件链,扫码到账自动开通 |
|
|
| 模板皮肤 | 运行时视图覆盖,插件视图与皮肤合并 |
|
|
| 命令行工具 | addon:make / addon:manage / addon:health 等脚手架 |
|
|
|
|
## 技术栈
|
|
|
|
- PHP >= 8.0
|
|
- ThinkPHP 8.x + think-orm 4.x
|
|
- think-multi-app 多应用扩展
|
|
- MySQL 5.7+ / MariaDB
|
|
- 前端:Layui + 原生模板引擎
|
|
|
|
## 与同类框架对比
|
|
|
|
相比 FastAdmin 的钩子机制,YwxApp 的差异在于:
|
|
|
|
1. **基于原生事件系统**:不需要额外的 hook 表,订阅器由 `AppService` 在启动阶段自动扫描注册
|
|
2. **插件自带路由**:插件可在 `route/app.php` 中注册自己的路由,由框架自动加入分组
|
|
3. **数据库自愈**:通过 `SchemaGuard` 统一管理表结构,插件升级时自动补齐缺失的列
|
|
|
|
## 下一步
|
|
|
|
- 阅读 [目录结构](guide/directory) 了解项目组织方式
|
|
- 阅读 [快速开始](guide/quickstart) 搭建本地开发环境
|
|
- 阅读 [插件开发指南](addon/development) 编写第一个插件
|