对象适配器和上篇的类适配器解决的问题一样;
不过是适配器的另一种实现方式;
示例中只有 Adapter 类有变化;
Adaptee 和 Adapter 部分可以完全一样;
咱直奔主题;
Adaptee:原本已经有的具体类;
Target:目标接口;包含我们希望拥有的方法;
Adapter:适配器类;适配 Adaptee 和 Target;
Adaptee.php
Target.php
Adapter.php
运行;
index.php
通过适配后;
我们可以在不改变原本的 Adaptee 类的情况下改变支付的币种;
并且可以灵活的增加新的方法;
相比类适配器;
对象适配器不需要继承;
因此也更加灵活一些;
github示例:https://github.com/baijunyao/design-patterns/tree/master/ObjectAdapter
本文为白俊遥原创文章,转载无需和我联系,但请注明来自白俊遥博客https://baijunyao.com 欢迎捐赠赞赏加入组织创建QQ群及捐赠渠道
任志帆 :想问一下 在Adapter类的__construct方法中 public function __construct(Adaptee $adaptee) { $this->adaptee = $adaptee; $adaptee->money = '$5'; }adaptee 这个属性并没有在此类中声明 这样也可以进行调用 这是什么原理 我自己试了下确实也不报错 但是我在__construct 只使用var_dump($this->adaptee) 会报错Recoverable fatal error: Object of class Renzhifan\DesignPatterns\ObjectAdapter\Adaptee could not be converted to string
2019-02-27 15:47:12 回复
NULL :PHP 给类增加成员属性,但是你打印的时候是还没有添加这个成员属性,所以找不到
2019-03-18 16:23:07 回复
苏妞尔 :于是我发现了有js注入漏洞,请楼主赶快修复var a = ""+"alert()"+"";
2018-09-10 17:31:11 回复
云淡风晴 :于是并没有测试成功;
2018-10-20 22:07:31 回复
rebirthway :貌似有人在卖你的代码.....Thinkphp3.2.3实现auth权限管理系统演示下载(二当家的后台权限)收藏来源:http://www.erdangjiade.com/php/2634.html二当家的 2017-05-24 17:50浏览(5466)Thinkphp3.2.3实现auth权限管理系统演示下载(二当家的后台权限)1、请不要问“在不在”之类的问题,有问题直接问!2、学生或暂时没有工作的童鞋,99元整站资源免费下载!3、充值VIP会员,整站资源无任何限制下载!5、程序员加油,交流群:368848856 在线 充值
2018-09-07 22:11:48 回复
云淡风晴 :挺多卖的;没事;
2018-10-20 22:08:21 回复
+++ :666,你工作几年了啊? 这么厉害的。。。
2018-09-02 16:33:34 回复
最新评论