laravel 笔记
  • Introduction
  • 说明
  • Laravel 基础
    • 安装与配置
    • 目录结构
    • 路由配置
    • MVC 配置
    • 数据库操作
      • DB façade 方式
      • 查询构造器方式
      • Eloquent ORM 方式
      • 数据库迁移
      • 数据填充
    • 请求和响应和重定向
    • Session
    • 中间件
    • 其他
      • Artisan 命令行
  • Laraval 源码分析
    • 请求到响应的生命周期
      • 程序启动准备
      • 请求实例化
      • 处理请求
      • 响应的发送与程序终止
    • 路由
    • 补充知识点
      • 反射机制
      • Closure 类
  • 资料
  • 核心思想
    • 服务容器
    • 服务提供者
    • Facades(门脸模式)
  • 开发笔记
  • Artisan 命令
  • yarn
Powered by GitBook
On this page

Was this helpful?

  1. 核心思想

Facades(门脸模式)

Previous服务提供者Next开发笔记

Last updated 5 years ago

Was this helpful?

Facades 为应用的提供了一个「静态」 接口。

采用静态的方式调用。

门脸配置在中的aliases配置项,比如追踪一项

  'Cache' => Illuminate\Support\Facades\Cache::class,

发现对应的门脸类中只有一个方法

class Cache extends Facade
{
    /**
     * 获取组件的注册名称。
     *
     * @return string
     */
    protected static function getFacadeAccessor() { return 'cache'; }
}

CacheFacade 继承了 Facade 类,并且定义了getFacadeAccessor()方法。这个方法的作用是返回服务容器中绑定的名称。

示例:日之类:

通过服务提供者提供注册到容器中,查看中的aliases配置项

得知对应的门脸类

 'Log' => Illuminate\Support\Facades\Log::class

技巧-如何查找门脸及注入类方法

使用Artisan 命令行工具进入交互模式

php artisan tinker

可以通过,门脸类中返回的注入容器中的名字来反查到具体的类对象,这样可以直接看所提供的方法

app('log')

资料

然后找到 官方接口的说明,或者直接找到对应的类对象文件查看。

服务容器
config/app.php
config/app.php
https://laravel.com/api/5.8/
Facades