PHP 代理模式

<?php
/**
 * 代理模式
 * 建立具體要被代理類的接口
 * 代理類也集成要被代理類的接口
 * 代理類建立被代理類
 * 代理類實現接口
 */

/**
 * Interface ObjectIO
 * 要被代理的類抽象接口
 */
interface ObjectIO {
    public function GetName();
}

/**
 * Class SpecificObject
 * 要被代理的類
 */
class SpecificObject implements ObjectIO {
    public function GetName()
    {
        // TODO: Implement GetName() method.
        echo '具體要被代理的類'.PHP_EOL;
    }

}

/**
 * Class Proxy
 * 具體代理對象繼承要被代理對象的接口
 */
class Proxy implements ObjectIO {
    protected $proxy;
    // 建立代理對象
    public function __construct()
    {
        $this->proxy = new SpecificObject();
    }

    public function GetName()
    {
        // TODO: Implement GetName() method.
        $this->proxy->GetName();
    }

}

$proxy = new Proxy();

$proxy->GetName(); // 具體要被代理的類
相關文章
相關標籤/搜索