facade是如何产生的 in laravel
2024-10-21 13:30:54
据说Facade是为了简化写法, 好记,也有人说要废除这个特性, 据说这个特性有很好的的testability 测试性, 我不清楚, 这个是怎么说出来的理由是什么?
很多Facade 是系统写好的, 在illuminate\support\Facade下面,
从__callStatic这个方法入手,
public static function __callStatic($method, $args)
{
$instance = static::getFacadeRoot();
if (! $instance) {
throw new RuntimeException('A facade root has not been set.');
}
return $instance->$method(...$args);
}
$instance 就是 这个 facade 的 getFacadeAccessor 返回的字符串在 service container里面所代表的的对象,
这里面有个 throw 提示错误, 貌似这样比较的友好么?
return $instance调用facade静态调用的方法. 完了。 那对测试有何影响?
最新文章
- 提高ASP.net性能的十种方法
- Redis数据类型,以及应用场合
- iOS Xcode个人常用插件
- ArcGIS Engine 中 线加箭头
- Tomcat - 设置 HTTP 基本认证
- IIS7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。=
- ThinkPhp学习07
- 分布式web架构中对session同步的常用处理方法以及优缺点
- 【view绘制流程】理解
- 【JVM系列】一步步解析java执行内幕
- python网络爬虫-中国大学排名定向爬虫
- SpringBoot整合使用JdbcTemplate
- python之旅十【第十篇】paramiko模块
- django补充
- hdoj:2053
- 双系统Ubuntu无法访问Win10磁盘分区解决方法
- C++11 正则表达式——基础知识介绍
- Struts2中.properties文件放置路径(classpath)
- tp框架中的一些疑点知识-7
- Jenkins Maven安装设置