文章目录
Laravel 6 - 第一章 简介
Laravel 6 - 第二章 项目搭建
Laravel 6 - 第三章 文件夹结构
Laravel 6 - 第四章 生命周期
Laravel 6 - 第五章 控制反转和依赖注入
Laravel 6 - 第六章 服务容器
Laravel 6 - 第七章 服务提供者
Laravel 6 - 第八章 门面
Laravel 6 - 第九章 契约
Laravel 6 - 第十章 路由
Laravel 6 - 第十一章 中间件
Laravel 6 - 第十二章 控制器
Laravel 6 - 第十三章 请求
Laravel 6 - 第十四章 响应
Laravel 6 - 第十五章 验证器
Laravel 6 - 第十六章 Artisan命令
Laravel 6 - 第十七章 配置数据库
Laravel 6 - 第十八章 模型
目录
- 文章目录
- 一、门面(Facades)
- 二、自定义门面
- 1.创建门面类
- 2.服务提供者
- 3.使用门面
- 三. 建议
一、门面(Facades)
门面(Facades)是一种为 Laravel 6
框架底层类提供静态接口的机制
,允许你使用静态方法来调用 Laravel 6 组件
的功能,而无需了解这些组件的完整实现细节,并且为 Laravel 6
的许多核心功能提供了简洁的静态接口(如:Cache),使得使用这些功能变得更加方便和直观。
二、自定义门面
1.创建门面类
首先,需要为自定义类或接口创建一个门面类,并继承自 Illuminate\Support\Facades\Facade
。如:有一个名为 MyCustomService
的类,则可以创建一个对应 MyCustomServiceFacade
的门面类 ,如下:
2.服务提供者
接1
中的例子,根据上一章( Laravel 6 - 第七章 服务提供者 )创建一个新的服务提供者
,如下:
3.使用门面
接1
、2
中例子,注册好 服务提供者
之后,假设MyCustomService
类中有一个 customAction()
方法,则可像调用静态方法一样调用自定义门面(MyCustomServiceFacade)
,如下:
三. 建议
门面
虽然提供了一种更简洁的方式来访问服务,但过度使用可能会导致代码难以测试和维护。建议在使用门面
之前,请先考虑是否真的需要它们,或者考虑是否可以通过其他方式(如:构造函数注入
)来满足需求。