ThinkPHP5.1门面(Facade.php)

门面(Facade
门面为容器中的类提供了一个静态调用接口,相比于传统的静态方法调用, 带来了更好的可测试性和扩展性,你可以为任何的非静态类库定义一个facade类。
例:
1.定义一个Test类 –> 有一个hello动态方法

2.接下来,我们给这个类定义一个静态代理类app\facade\Test(这个类名不一定要和Test类一致,但通常为了便于管理,建议保持名称统一)。

3.只要这个类库继承think\Facade,就可以使用静态方式调用动态类app\common\Test的动态方法。
// 无需进行实例化 直接以静态方法方式调用hello
echo \app\facade\Test::hello('thinkphp');

个人代码举例:

在项目应用模块下创建一个facade文件夹,

12218344-614576861aeb8acf

用工厂模式定义静态代理类 ModelFactory.php

在 tp5 common.php文件中创建一个模型工厂方法M()

调用示例:

承接各种网站开发与修改、爬虫、数据采集分析、小程序等任务

Html+Css+JS+PHP+Nodejs+Python

专治网站各种不服

一起探讨,互相学习,共同进步!有事儿您说话。

This entry was posted in PHP, ThinkPHP and tagged by 织梦先生. Bookmark the permalink.