Facades

[[toc]]

介绍

facades 为应用的核心功能提供一个「静态」接口,能够提供更加灵活、更加优雅、易于测试的语法。

Goravel 所有的 facades 都定义在 github.com/goravel/framework/facades 下。我们可以很轻松的使用 facades

  1. import "github.com/goravel/framework/facades"
  2. facades.Route.Run(facades.Config.GetString("app.host"))

facades 工作原理

facades 一般会在各模块 ServerProviderRegisterBoot 阶段进行实例化。

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

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

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

facade 类参考

Facade 文档
Artisan 命令行工具
Cache 缓存系统
Config 配置信息
Orm ORM
Event 事件系统
Grpc Grpc
Log 日志
Queue 队列
Route 路由
Schedule 任务调度