Facades
简介
facades
为应用的核心功能提供一个「静态」接口,能够提供更加灵活、更加优雅、易于测试的语法。
Goravel 所有的 facades
都定义在 github.com/goravel/framework/facades
下。我们可以很轻松的使用 facades
:
import "github.com/goravel/framework/facades"
facades.Route().Run(facades.Config().GetString("app.host"))
facades 工作原理
facades
一般会在各模块 ServerProvider
的 Register
或 Boot
阶段进行实例化。
func (config *ServiceProvider) Register() {
app := Application{}
facades.Config = app.Init()
}
如果该 facades
使用了其他 facades
,那么就在 ServerProvider
的 Boot
阶段进行实例化:
func (database *ServiceProvider) Boot() {
app := Application{}
facades.DB = app.Init()
}
facade 类参考
Facade | 文档 |
---|---|
App | 容器 |
Artisan | 命令行工具 |
Auth | 用户认证 |
Cache | 缓存系统 |
Config | 配置信息 |
Crypt | 加密解密 |
Event | 事件系统 |
Gate | 用户授权 |
Grpc | Grpc |
Hash | 哈希 |
Log | 日志 |
邮件 | |
Orm | ORM |
Queue | 队列 |
RateLimiter | 限流器 |
Route | 路由 |
Seeder | 数据填充 |
Schedule | 任务调度 |
Storage | 文件系统 |
Testing | 测试 |
Validation | 表单验证 |