Facades(门脸模式)
Facades 为应用的服务容器提供了一个「静态」 接口。
采用静态的方式调用。
门脸配置在config/app.php中的aliases配置项,比如追踪一项
'Cache' => Illuminate\Support\Facades\Cache::class,
发现对应的门脸类中只有一个方法
class Cache extends Facade
{
/**
* 获取组件的注册名称。
*
* @return string
*/
protected static function getFacadeAccessor() { return 'cache'; }
}
Cache
Facade 继承了 Facade 类,并且定义了getFacadeAccessor()
方法。这个方法的作用是返回服务容器中绑定的名称。
示例:日之类:
通过服务提供者提供注册到容器中,查看config/app.php中的aliases配置项
得知对应的门脸类
'Log' => Illuminate\Support\Facades\Log::class
技巧-如何查找门脸及注入类方法
使用Artisan 命令行工具进入交互模式
php artisan tinker
可以通过,门脸类中返回的注入容器中的名字来反查到具体的类对象,这样可以直接看所提供的方法
app('log')
然后找到https://laravel.com/api/5.8/ 官方接口的说明,或者直接找到对应的类对象文件查看。
资料
Last updated
Was this helpful?