facades为应用程序服务容器中可用的类提供 静态 接口。laravel 外墙 作为 静态代理 在服务容器底层类,提供了一个简洁,传神语法的利益,同时保持比传统的静态方法更可测试性和灵活性。
如何创建facade
以下是在laravel创建facade的步骤 -
- 第1步 - 创建php类文件。
- 第2步 - 将该类绑定到服务提供者。
- 第3步 - 将该serviceprovider注册到
config \ app.php作为提供者。
- 第4步 - 创建此类延伸到的类
lluminate的\ support \外立面\门面。
- 第5步 - 将 第4 点注册到config \ app.php作为别名。
门面类参考
laravel附带许多外墙。下表显示了内置的facade类参考 -
| 正面 | 类 | 服务容器绑定 |
|---|---|---|
| 应用 | 照亮\基金会\应用 | 应用 |
| 工匠 | 照亮\合同\控制台\内核 | 工匠 |
| 验证 | 照亮\验证\ authmanager | auth |
| 身份验证(实例) | 照亮\验证\卫队 | |
| 刀 | 照亮\查看\编译\ bladecompiler | blade.compiler |
| 总线 | 照亮\ \合同公交\调度 | |
| 高速缓存 | 照亮\缓存\库 | 高速缓存 |
| 配置 | 照亮\ config \库 | 配置 |
| 曲奇饼 | 照亮\饼干\ cookiejar | 曲奇饼 |
| 地穴 | 照亮\加密\加密器 | 加密 |
| d b | 照亮\数据库\的databasemanager | d b |
| db(实例) | 照亮\数据库\连接 | |
| 事件 | 照亮\活动\调度 | 事件 |
| 文件 | 照亮\文件系统\文件系统 | 档 |
| 门 | 照亮\合同\身份验证\访问\门 | |
| 哈希 | 照亮\合同\散列\散列器 | 哈希 |
| 输入 | 照亮\ http \请求 | 请求 |
| 郎 | 照亮\翻译\翻译 | 翻译者 |
| 日志 | 照亮\登录\作家 | 日志 |
| 邮件 | 照亮\邮件\梅勒 | 信封 |
| 密码 | 照亮\验证\密码\ passwordbroker | auth.password |
| 队列 | 照亮\队列\的queuemanager | 队列 |
| 队列(实例) | 照亮\队列\ queueinterface | |
| 队列(基类) | 照亮\队列\队列 | |
| 重定向 | 照明\路由\重定向 | 重定向 |
| redis的 | 照亮\ redis的\数据库 | redis的 |
| 请求 | 照亮\ http \请求 | 请求 |
| 响应 | 照亮\合同\路由\ responsefactory | |
| 路线 | 照明\路由\路由器 | 路由器 |
| 架构 | 照亮\数据库\架构\蓝图 | |
| 会议 | 照亮\会议\ sessionmanager | 会议 |
| 会话(实例) | 照亮\会议\商店 | |
| 存储 | 照亮\合同\文件系统\厂 | 文件系统 |
| 网址 | 照明\路由\ urlgenerator | 网址 |
| 验证器 | 照亮\验证\厂 | 验证器 |
| 验证器(实例) | 照亮\验证\验证 | |
| 视图 | 照亮\查看\厂 | 视图 |
| 查看(实例) | 照亮\查看\查看 |
例
第1步 - 通过执行以下命令创建名为 testfacadesserviceprovider 的服务提供者。
php artisan make:provider testfacadesserviceprovider
第2步 - 成功执行后,您将收到以下输出 -

第3步 - 在 app / test中 创建一个名为 testfacades.php 的类。 **
应用/测试/ testfacades.php
namespace app\test;
class testfacades{
public function testingfacades(){
echo "testing the facades in laravel.";
}
} 第4步 - 在 “app / test / facades” 创建一个名为 “testfacades.php” 的facade类。 **
应用/测试/幕墙/ testfacades.php
namespace app\test\facades;
use illuminate\support\facades\facade;
class testfacades extends facade {
protected static function getfacadeaccessor() { return 'test'; }
} 第5步 - 在 app / test / facades 创建一个名为 testfacadesserviceproviders.php 的facade类 。
应用/供应商/ testfacadesserviceproviders.php
namespace app\providers;
use app;
use illuminate\support\serviceprovider;
class testfacadesserviceprovider extends serviceprovider {
public function boot() {
//
}
public function register() {
app::bind('test',function() {
return new \app\test\testfacades;
});
}
} 第6步 - 在文件 config / app.php中 添加一个服务提供者,如下图所示。
配置/ app.php

第7步 - 在文件 config / app.php中 添加一个别名,如下图所示。
配置/ app.php

第8步 - 在 app / http / routes.php中 添加以下行 。
应用程序/ http / routes.php文件
route::get('/facadeex', function(){
return testfacades::testingfacades();
}); 第9步 - 访问以下url以测试facade。
http://localhost:8000/facadeex
第10步 - 访问url后,您将收到以下输出 -



