laravel 基础面试题--2020-12-17-laravel门面(facades)与契约(contracts)
感谢关注本人公众号: 上海 PHP 自学中心
qq群(3年2万):517085546
laravel 基础面试题–2020-12-17-laravel门面(facades)与契约(contracts)
1. 如何定义 Laravel 的门面?**
所有的门面都定义在 Illuminate\Support\Facades 命名空间当中。
2. 契约(facades)的理解
facades 是什么?
Facades(读音:/fəˈsäd/ )为应用程序的 服务容器
中可用的类提供了一个「静态」接口。你不必 use
一大串的命名空间,也不用实例化对象,就能访问对象的具体方法。
facades 如何 注册使用?
同样 facades 需要 注册与 启动的。
laravel 很喜欢,注册(register) 启动(bootstrap)
Facade 的启动引导是在 Illuminate\Foundation\Bootstrap\RegisterFacades
中注册的。
/**
* Prepend the load method to the auto-loader stack.
*
* @return void
*/
protected function register()
{
if (! $this->registered) {
spl_autoload_register([$this, 'load'], true, true);
$this->registered = true;
}
}
具体实现逻辑 大家可以 查看原文:Laravel Facade 的加载过程及原理
3. 解释 Laravel 中契约的概念
它们是 Laravel 框架的接口集合。 这些契约提供核心服务。 Laravel 中的契约包括相应的框架实现。
思考
- facades Contracts怎么读的?
- facades 是如何注册与加载的?
- facades 方便了我们什么操作?
防爬虫说明
禁止 学习某地爬虫,知乎爬虫,CSDN 爬虫。
本文,首发在 learnku 社区。
@author
汪春波(www.shxdledu.cn)