mtphp 文档

目录结构

mtphp/
├── mtphp/                  # 框架核心(命名空间 Mtphp\)
│   ├── App.php             # 应用引导与请求生命周期
│   ├── Container.php       # IoC 容器 + 依赖注入(反射缓存)
│   ├── Router.php          # 路由收集 / 匹配 / 编译缓存
│   ├── Route.php           # 路由静态代理(门面式注册)
│   ├── Middleware.php      # 中间件洋葱管道
│   ├── Config.php          # 配置管理(点号多级读取)
│   ├── Facade.php          # 门面基类
│   ├── helpers.php         # 全局助手(response / view / config / app)
│   ├── Server.php          # Swoole 常驻 HTTP 服务器引导
│   ├── Http/
│   │   ├── Request.php     # 请求封装(含 fromSwoole)
│   │   └── Response.php    # 响应封装(send 一次性输出)
│   ├── Database/
│   │   ├── Connector.php        # 连接契约接口
│   │   ├── Connection.php       # PDO 连接(懒加载 / 持久连接 / 事务)
│   │   ├── CoroutineConnection.php # Swoole 协程连接适配器
│   │   ├── Query.php            # 链式查询构造器
│   │   ├── Transaction.php      # 嵌套事务(SAVEPOINT)
│   │   ├── Pool.php             # Swoole 协程连接池
│   │   ├── Model.php            # 轻量模型(ORM-lite,静态 CRUD)
│   │   └── DB.php               # 数据库静态入口(门面)
│   ├── View/
│   │   ├── Template.php         # 模板引擎入口(编译缓存 + 布局两遍渲染)
│   │   └── Compiler.php         # .tpl → PHP 编译器(含 @yield 布局编译)
│   ├── Markdown/
│   │   └── Markdown.php         # 轻量 Markdown → HTML 渲染器(零依赖,供文档站)
│   ├── Log/
│   │   └── Logger.php           # 极简文件日志器(零配置)
│   ├── Cache/
│   │   ├── CacheInterface.php   # 缓存契约(FileCache / RedisStore 共用)
│   │   ├── AbstractCache.php    # has / remember 通用实现(trait)
│   │   ├── FileCache.php        # 文件缓存(TTL + remember,零配置)
│   │   ├── RedisConnector.php   # 纯 PHP Redis 连接(stream_socket + RESP,零依赖)
│   │   ├── Resp.php             # RESP 协议编解码(零依赖)
│   │   ├── RedisStore.php       # Redis 缓存驱动(零依赖)
│   │   └── CacheManager.php     # 按 config('cache.driver') 选择驱动
│   ├── Queue/
│   │   ├── QueueInterface.php   # 队列契约(文件 / 数据库驱动共用)
│   │   ├── DispatchTrait.php    # 类任务分发(trait)
│   │   ├── Queue.php            # 文件驱动队列(零依赖)
│   │   ├── DatabaseQueue.php     # 数据库驱动队列(可靠投递 + 重试 + 失败表)
│   │   └── QueueManager.php     # 按 config('queue.driver') 选择驱动
│   └── Support/
│       └── Reflect.php     # 反射类型辅助(兼容 PHP 8 联合/交叉类型)
├── app/                   # 业务代码(命名空间 App\)
│   ├── Controllers/        # 控制器
│   │   └── DocController.php  # 文档站控制器(解析使用手册为章节 + 左菜单)
│   ├── Models/             # 数据模型(继承 Mtphp\Database\Model)
│   ├── Routes/routes.php   # 路由定义
│   ├── Middleware/         # 业务中间件
│   └── Views/              # .tpl 模板
│       ├── layouts/app.tpl # 站点布局(含 @yield 占位)
│       ├── home.tpl        # 首页(继承布局的子模板)
│       ├── page.tpl        # 演示页(演示 @parent)
│       └── docs/           # 文档站模板(layout 布局 / preface 序言 / page 章节)
├── config/                # 配置(app / database / route / log / cache / queue)
│   ├── log.php             # 日志配置(可选)
│   ├── cache.php           # 缓存配置(可选;driver=file|redis)
│   └── queue.php           # 队列配置(可选;driver=file|database)
├── public/                # 唯一对外入口(index.php)
├── runtime/               # 运行时生成物(cache / views / logs)
├── bin/server.php         # Swoole 常驻服务器入口
├── serve.php              # 开发用前端控制器(php -S 演示)
├── tests/db_smoke.php     # 数据库层端到端冒烟测试
├── tests/components_smoke.php # 日志/缓存/模型 冒烟测试
├── DESIGN.md              # 总体设计方案
└── 使用手册.md            # 本文件