浅析laravel门面原理与实现
admin
2023-07-26 03:40:06
0

Facade模式

描述:Facade模式要求一个子系统的外部与其内部的通信必须通过一个统一的Facade对象进行。Facade模式提供一个高层次的接口,使得子系统更易于使用。

意义:将一个系统划分成为若干个子系统有利于降低系统的复杂性。一个常见的设计目标是使子系统间的通信和相互依赖关系达到最小。

实现原理
工作流程图

浅析laravel门面原理与实现

业务中需要使用子系统的能力步骤:

1.调用子系统的访问门面,获取相关服务;
2.门面从容器中获取子系统的实例;
3.通过子系统的实例,调用其相关服务。

相关技术点分析:

1.了解facade模式。
2.调用子系统门面中不可访问的方法,会自动触发__callstatic
如 \App\Facade\Redis::set(.....);
3.static 静态延时绑定。参考:PHP后期静态绑定
4.Closure 匿名函数的运用,只有调用$closure()才开始真正起作用。
5.容器的实现。

代码实现
目录结构

浅析laravel门面原理与实现

\client.php 业务调用客户端:

\Facade.php 门面类

$name(...$arguments);
    }
}

\Facede\Redis.php 访问子系统能力的门面

\Ioc.php服务容器

\Subsystem\Redis.php 子系统服务能力类

\InitIoc.php 将子系统的实例注入到容器

相关内容

热门资讯

我在没有空调的巴黎,感受世纪热... 最近半个月,我几乎每天都能收到好友Capucine发来的吐槽信息。“床是烫的,风扇吹出来的风也是烫的...
千万粉MCN放“黑料”敲诈明星... 6月29日,记者从广东公安获悉,近日,在公安部网安局和广东省公安厅网安总队的直接指挥下,河源市公安局...
辽宁葫芦岛一居民楼突发爆炸,已... 警情通报2026年6月29日7时11分,葫芦岛市消防救援局指挥中心接到报警,位于葫芦岛市南票区九龙街...
商都十二载,一轮焕新彰 郑州... 时光荏苒,初心如磐。为庆祝郑州绿地JW万豪酒店入驻中原12周年,酒店于城市之巅的JW花园隆重举办“夏...
做完数学题,韩国队回家了 随着刚果(金)逆转乌兹别克斯坦晋级美加墨世界杯淘汰赛,韩国球员心里绷了好几天的那根弦,“啪”的一下断...
军队、公安、司法、消防类院校2... 6月29日,河南省教育考试院公布河南省2026年军队院校、公安院校、司法类院校、中国消防救援学院的招...
国家体育总局政策法规司原副司长... 2026年6月29日,北京市第一中级人民法院依法公开宣判国家体育总局政策法规司原副司长胡光宇贪污案,...
鹤壁市人大常委会任免名单发布 鹤壁市人民代表大会常务委员会任免名单(2026年6月26日鹤壁市第十二届人民代表大会常务委员会第三十...
自由职业者也能评职称了?郑州出... 无论你是短剧演员还是服装设计师,无论你从事工程系列工作还是新型职业农民,只要是符合条件的“自由职业者...
河南省“社保通”服务平台上线 ... 河南日报讯 (全媒体记者 郭兵)想知道自己的养老金账户有多少钱?想快捷打印参保凭证?有社保疑问不知道...