在前面的文章中,我们已经给大家简单介绍了PHP代理模式的基础概念,相信大家对代理模式也有了一点了解。
代码如下:
<?PHP /* * 代理模式 */ //代理抽象接口 interface shop { public function buy($title); } //原来的CD商店,被代理对象 class CDShop implements shop { public function buy($title) { echo 购买成功,这是你的《{$title}》唱片 . PHP_EOL; } } //CD代理 class Proxy implements shop { public function buy($title) { $this->go(); $CDshop = new CDshop; $CDshop->buy($title); } public function go() { echo 跑去香港代购 . PHP_EOL; } } class client { public static function shoping($goods) { $proxy = new Proxy; $proxy->buy($goods); } } client::shoping(醒着做梦);
首先代理模式都需要继承一个共用的接口,这里只有CDShop(CD商店)和Proxy (CD代理)这两个类来继承一个共用接口shop,并且其中都有一个共同的方法buy。
那么上述代码我们可以这样理解,当我们想要购买一张“醒着做梦”的唱片,但是由于本地没有资源,只能选择香港代理帮忙代购。这里我们就可以通过客户端来实例化代理Proxy,再调用代理中的购买方法buy。
然后代理可以通过go方法表示“跑去香港代购”,再new实例化CDshop,再通过其中buy方法来“购买唱片”。
最后我们可以检查上述代码的返回值:
流程示意图:
如图,这就是代理模式的使用示例,只要掌握它的实现流程和原理,也就很容易理解代理模式的实现思想了,大家也可以在本地做多练习以便加固理解。
本篇文章就是关于PHP代理模式的详细介绍,也很通俗易懂的,希望对需要的朋友有一定的帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。