跳转到内容

熟悉的结构。
原生的 Go。

路由、ORM、验证、队列、事件与缓存,尽在一个框架之中。

快速开始

与 Laravel 逐行对应。

  • 熟悉的门面,熟悉的方法名
  • 相同的目录结构,自带 artisan
与 Laravel 对比
Laravel · PHProutes/web.php
Route::middleware('auth')->group(function () {
    Route::get('/tasks', [TaskController::class, 'index']);
});
Goravel · Goroutes/web.go
facades.Route().Middleware(middleware.Auth()).
	Group(func(router route.Router) {
		router.Get("/tasks", taskController.Index)
	})

30 个门面,一个框架。

一个进程

HTTP、gRPC、队列、调度与遥测一同启动。

// config/app.go
"disabled_runners": []string{
	"goravel:schedule",
},

Gin 或 Fiber

默认使用 gin。安装 fiber,改一行配置即可切换。

// config/http.go
  config.Add("http", map[string]any{
-   "default": "gin",
+   "default": "fiber",

用真实数据库测试

在测试中通过 Docker 启动 Postgres 或 Redis。

database, err := facades.Testing().
	Docker().Database("postgres")
cache, err := facades.Testing().
	Docker().Cache("redis")

AI SDK新

支持 OpenAI、Anthropic 与 Gemini 的智能体和工具。

conversation, err := facades.AI().
	Agent(&agents.SupportAgent{})
if err != nil {
	return err
}

Telemetry新

OpenTelemetry 链路、指标与日志。

# .env
OTEL_TRACES_EXPORTER=otlptrace
OTEL_METRICS_EXPORTER=otlpmetric
OTEL_LOGS_EXPORTER=otlplog

一个二进制文件

上传二进制文件和 .env 即可,无需安装运行时。

$ go run . artisan build --static
# upload
.env
./goravel

4 / 30个门面已安装

从核心开始。

Goravel Lite 只包含必要的门面,其余按需安装。

开源。

4,844GitHub 星标

43贡献者

版本发布
39 位其他贡献者
merouanekhalilihongyukejisidshrivastavJuneezeedragoonchangdhanusaputramauri870Marian0ahmed3marflc1125zzpwestlifejuantarrelKamandloulivghitjeff87218shayan-yousefizxdstylemilwad-devmdanialrKlassnayaAfroditaYlanzinhoYgouguoyindzhampraem90vendiontzskycb1986BadJackyNiteshSingh17alfanzainoprudkyizoryambaoguzhankrcbChisThanhwyicwxLinboLenpresident-tuychiyeveddyjj92codedsultan
参与贡献贡献功能可获得 T 恤
赞助

基于 MIT 许可发布