分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

PHP设计模式 - 代理模式

发布时间:2023-09-06 02:01责任编辑:傅花花关键词:PHP

代理模式(Proxy)为其他对象提供一种代理以控制对这个对象的访问。使用代理模式创建代理对象,让代理对象控制目标对象的访问(目标对象可以是远程的对象、创建开销大的对象或需要安全控制的对象),并且可以在不改变目标对象的情况下添加一些额外的功能。

在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用,并且可以通过代理对象去掉客户不能看到的内容和服务或者添加客户需要的额外服务。

经典例子就是网络代理,你想访问 Facebook 或者 Twitter ,如何绕过 GFW?找个代理

<?abstract class Subject { // 抽象主题角色 ???abstract public function action();}class RealSubject extends Subject { // 真实主题角色 ???public function __construct() {} ???public function action() {}}class ProxySubject extends Subject { // 代理主题角色 ???private $_real_subject = NULL; ???public function __construct() {} ???public function action() { ???????$this->_beforeAction(); ???????if (is_null($this->_real_subject)) { ???????????$this->_real_subject = new RealSubject(); ???????} ???????$this->_real_subject->action(); ???????$this->_afterAction(); ???} ???private function _beforeAction() { ???????echo ‘在action前,我想干点啥....‘; ???} ???private function _afterAction() { ????????echo ‘在action后,我还想干点啥....‘; ???}}// client$subject = new ProxySubject();$subject->action();//输出:在action前,我想干点啥....在action后,我还想干点啥....

PHP设计模式 - 代理模式

原文地址:https://www.cnblogs.com/taozi32/p/9226767.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved