kearth / tea
A PHP Framework
Installs: 2
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Language:Go
Type:project
pkg:composer/kearth/tea
Requires
- php: >=7.3
This package is auto-updated.
Last update: 2026-01-03 11:49:06 UTC
README
Tea是一个轻量级、高性能的Go语言Web框架,专为快速构建HTTP服务而设计。框架基于模块化架构,提供简洁的API接口,帮助开发者高效地创建Web应用。
框架特点
- 轻量级设计:核心代码简洁,易于理解和扩展
- 高性能HTTP服务器:基于goframe/ghttp实现,支持高并发
- 路由管理:支持路由分组、中间件和静态文件服务
- API文档生成:内置Swagger/OpenAPI支持,便于API文档管理
- 优雅的错误处理:统一的错误处理机制和日志记录
- 灵活的配置系统:支持多环境配置管理
- 单元化架构:基于Unit的服务管理机制,便于组件管理和生命周期控制
安装
安装框架库
go get github.com/kearth/tea
安装命令行工具 (tf)
go install github.com/kearth/tea/cli/cmd/tf@latest
安装完成后,您可以通过以下命令验证tf工具是否正确安装:
tf version
使用tf工具初始化项目
tf init your-project-name -o your-project-dir -m your-module-name
参数说明:
<name>: 项目名称(必需)--output, -o: 输出目录(可选,默认为当前目录下的项目名称)--module, -m: Go模块路径(可选,默认为'example.com/' + 项目名称)
快速开始
创建基本应用
package main import ( "github.com/kearth/klib/kctx" "github.com/kearth/tea" ) func main() { // 创建一个简单的Tea应用 tea.Drink(kctx.New(), func(ctx kctx.Context) { // 在这里可以添加自定义初始化逻辑 }) }
添加HTTP路由
package main import ( "github.com/gogf/gf/v2/net/ghttp" "github.com/kearth/klib/kctx" "github.com/kearth/tea" "github.com/kearth/tea/frame/server/httpserver" ) func main() { tea.Drink(kctx.New(), func(ctx kctx.Context) { // 获取HTTP路由 router := httpserver.NewHTTPRouter() // 添加中间件 router.AddMiddleware(func(r *ghttp.Request) { r.Response.Writeln("Hello from middleware!") r.Middleware.Next() }) // 添加路由处理 router.AddBind(func(r *ghttp.Request) { r.Response.Writeln("Hello, Tea Framework!") }) // 创建路由组 router.Group("/api", func(group *httpserver.Group) { group.Bind("/user", func(r *ghttp.Request) { r.Response.Writeln("User API") }) }) }) }
目录结构
Tea框架采用清晰的目录结构组织代码:
frame/- 框架核心组件base/- 基础功能和工具env/- 环境变量和配置管理server/- 服务器相关实现httpserver/- HTTP服务器实现
internal/- 内部实现bootstrap/- 框架引导程序tea/- 核心实现
cli/- 命令行工具examples/- 示例项目
核心功能
HTTP服务器
Tea框架提供了强大的HTTP服务器功能,支持:
- 路由管理和分组
- 中间件机制
- 静态文件服务
- Swagger/OpenAPI文档
- 优雅启动和关闭
配置管理
支持多环境配置,可通过配置文件或环境变量进行配置。
日志系统
集成了日志记录功能,支持不同级别的日志输出。
示例项目
框架提供了完整的示例项目,位于examples/目录下,展示了如何使用Tea框架构建完整的Web应用。
版本信息
当前版本:v0.1.0
许可证
详细许可证信息请参阅 LICENSE 文件。
特别鸣谢
本项目依赖 GoFrame v2 框架,感谢 GoFrame 团队提供的优秀开源作品。
GoFrame 作为一个全功能的 Go 语言框架,为 Tea Framework 提供了强大的底层支持,特别是在 HTTP 服务器、路由管理和配置系统等方面。Tea Framework 在 GoFrame 的基础上进行了轻量级封装和扩展,旨在提供更简洁的 API 和更灵活的应用构建体验。