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 一般会在各模块 ServerProviderRegisterBoot 阶段进行实例化。

func (config *ServiceProvider) Register() {
  app := Application{}
  facades.Config = app.Init()
}

如果该 facades 使用了其他 facades,那么就在 ServerProviderBoot 阶段进行实例化:

func (database *ServiceProvider) Boot() {
  app := Application{}
  facades.DB = app.Init()
}

facade 类参考

Facade文档
App容器
Artisan命令行工具
Auth用户认证
Cache缓存系统
Config配置信息
Crypt加密解密
Event事件系统
Gate用户授权
GrpcGrpc
Hash哈希
Log日志
Mail邮件
OrmORM
Queue队列
RateLimiter限流器
Route路由
Seeder数据填充
Schedule任务调度
Storage文件系统
Testing测试
Validation表单验证