Expand description
SZ-Rust Core — 主框架包
对标 ThinkPHP 8 的 Rust Web 框架核心,基于 axum 0.8 + SZ-ORM。
§模块结构
所有模块均已实现并通过测试(v0.2.0 GA 候选)。
| 模块 | 对齐 PHP | 状态 |
|---|---|---|
controller | app\SzController / app\BaseController | ✅ |
model | think\Model | ✅ |
relation | think\Model 关联关系(HasMany/BelongsTo/HasOne/BelongsToMany/Morph) | ✅ |
request | $this->request->post/get | ✅ |
response | renderJson/renderSuccess/renderError | ✅ |
middleware | CORS/Auth/Log/RateLimit/Trace | ✅ |
guard | NestJS Guard + Spring Security(sz-rust 自研) | ✅ |
hooks | think-orm Model 钩子(HookDispatcher 16 事件) | ✅ |
multi_app | auto_multi_app | ✅ |
health | 健康检查端点(K8s liveness/readiness) | ✅ |
static_files | 静态文件路由(tower-http::ServeDir) | ✅ |
error_handler | 404/500 标准化 JSON 响应 | ✅ |
h2 | HTTP/2 + TLS(think-swoole SSL) | ✅ |
routing | 三层路由机制(属性宏/配置式/约定式) | ✅ |
addons | addons/ 插件 | ✅ |
router | with_route | ✅ |
container | app() 容器 | ✅ |
error | BaseException | ✅ |
macros | compact() | ✅ |
config | config/app.php / database.php | ✅ |
log | think-logger | ✅ |
server | think-swoole / think-worker 启动入口 | ✅ |
validate | think\Validate 数据验证器 | ✅ |
upload | think\File + think\file\UploadedFile 文件上传 | ✅ |
cache | think\facade\Cache 缓存 facade | ✅ |
session | think\facade\Session 会话管理(SessionStore trait + MemorySessionStore) | ✅ |
cookie | think\Cookie Cookie 管理(CookieJar + CookieOptions) | ✅ |
event | think\Event 事件系统(Listener/Subscriber/Observer) | ✅ |
env | think\facade\Env 环境变量管理 | ✅ |
i18n | think\facade\Lang 多语言国际化 | ✅ |
mail | think\facade\Mail 邮件抽象(Mailer trait + MemoryMailer) | ✅ |
migration_history | think migrate 迁移历史表(多方言 DDL + CRUD SQL 生成) | ✅ |
api_version | API 版本管理(URL/Header/Query 多策略协商) | ✅ |
cache_warmer | 缓存预热管道(部署/启动时预热,串行/并行+超时控制) | ✅ |
debug_page | Whoops-style 调试页(开发环境 HTML + 生产环境简洁页) | ✅ |
Modules§
- addons
- 插件加载
- api_
version - API 版本管理 — URL/Header/Query 多策略
- cache
- SZ-Rust Cache facade — 对齐 PHP
think\facade\Cache - cache_
warmer - 缓存预热机制(Cache Warmer)
- config
- 配置系统 — YAML 加载 + 环境变量覆盖 + 默认值
- container
- App 容器 — DB/Cache/Log 单例 + DI 服务容器
- controller
- 控制器模块 — SzController trait
- cookie
- Cookie 模块 — 对齐 PHP
think\Cookie - debug_
page - Whoops-style HTML 调试页面 — 对齐 PHP
whoops异常展示 - env
- Env 模块 — 对齐 PHP
think\facade\Env - error
- 错误体系 — BaseException + 错误码映射
- error_
handler - 错误处理 — 404/500 标准化 JSON 响应
- event
- 事件系统(对齐 PHP
think\Event) - guard
- Guard 守卫模块 — 鉴权决策(借鉴 NestJS Guard + Spring Security)
- h2
- HTTP/2 + TLS 支持 — 基于
tokio-rustls+rustls-pemfile - health
- 健康检查端点 —
/health - hooks
- 钩子系统接入 — 16 事件 HookDispatcher
- i18n
- i18n 国际化模块 — 对齐 PHP
think\facade\Lang - log
- 日志系统 — 对齐 PHP
think-logger - macros
- 宏模块 — compact!/controller!/model! 重导出
- Mail 模块 — 对齐 PHP
think\facade\Mail - middleware
- 中间件模块 — CORS/Auth/Log/RateLimit/Trace + 链构建器 + Handler=Middleware 统一设计
- migration_
history - 迁移历史表(Migration History Table)
- model
- 模型模块 — BaseModel trait + Append 字段系统
- multi_
app - 多应用调度器模块 — MultiAppDispatcher
- orm
- ORM Facade — 统一访问 sz-orm 全家桶
- relation
- 关联关系模块 — HasMany/BelongsTo/HasOne/BelongsToMany/Morph
- request
- 请求模块 — postData/getData/file/upload
- response
- 响应模块 — renderJson/renderSuccess/renderError + ApiResponse
- router
- 路由模块 — 路由构建(基于 axum::Router)
- routing
- 三层路由机制 — 属性宏 / 配置式 / 约定式
- runtime
- SZ-Rust Runtime — Swoole/Worker 适配主入口
- server
- HTTP 服务器模块 — axum::serve 启动器
- session
- Session 模块 — 对齐 PHP
think\facade\Session - static_
files - 静态文件服务 —
tower-http::services::ServeDir封装 + 自定义文件处理器 - upload
- 文件上传模块 — 对齐 PHP
think\File+think\file\UploadedFile - validate
- 验证器模块 — 对齐 PHP
think\Validate - view
- 视图渲染器 — 对齐 PHP
think\View
Macros§
- query
- 编译时 SQL 校验 + 可选真实 DB 验证宏 — 复用自
sz-orm-macros - sql_
string - 编译时 SQL 校验宏 — 复用自
sz-orm-macros
Enums§
- SqlStatement
Type - SQL statement type detected by the parser
- SqlValidation
Error - SQL validation errors
Functions§
- detect_
statement_ type - Detect the type of SQL statement
- validate
- Entry-level validation that runs all checks
- validate_
column_ name - Validate column name is a valid SQL identifier
- validate_
delete - Validate a SQL DELETE statement
- validate_
insert - Validate a SQL INSERT statement
- validate_
parameter_ count - Validate parameter count in prepared statements
- validate_
select - Validate a SQL SELECT statement
- validate_
sql - Validate any SQL statement by detecting its type and applying appropriate rules
- validate_
sql_ runtime - 运行时 SQL 校验便捷函数
- validate_
table_ name - Validate table name is a valid SQL identifier
- validate_
update - Validate a SQL UPDATE statement
Type Aliases§
- Validation
Result - Result type for SQL validation