php实现代理模式静态+动态代理

代理模式就是代理目标对象,实现对其访问控制,通过代理人来完成实现功能

静态代理就是显示地代理目标对象,思想是
静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象一起实现相同的接口或者是继承相同父类

使用时需要注意:
代理对象与目标对象要实现相同的接口,然后通过调用相同的方法来调用目标对象的方法

代码实现

统一的接口

interface IUser{
    public function save();
}

目标对象实现接口:

class User implements IUser{
    public function save() {
       echo "保存用户信息";
    }    
}

代理对象实现接口:

class UserProxy implements IUser{
    private $target;
    public function __construct($target){
        $this->target = $target;
    }
    public function save(){
        echo "静态代理前置操作";
        $this->target->save();
        echo "静态代理后置操作";
    }
}

测试用例

$proxy = new UserProxy(new User));
$proxy->save();

静态代理总结:
1.可以在

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值