php 代理模式

Posted 长风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 代理模式相关的知识,希望对你有一定的参考价值。

代理模式为其他对象提供一种代理以控制对这个对象的访问。

Irequest.php

<?php
namespace proxy;

interface Irequest{
    function sendRequest();
}


Request.php

<?php
namespace proxy;

class Request{
    function sendRequest(){
        echo "send Request";
    }
}

RequestProxy.php

<?php
namespace proxy;

class RequestProxy{
    private $_request;

    function __construct(){
        $this->_request = new Request();
    }

    function sendRequest(){
        $this->beforeRequest();
        echo "<br>";
        $this->_request->sendRequest();
        echo "<br>";
        $this->afterRequest();
    }
    protected function beforeRequest(){
        echo "before";
    }
    protected function afterRequest(){
        echo "after";
    }
}


client.php

<?php
namespace proxy;
require \'../autoload.php\';
$request = new RequestProxy();
$request->sendRequest();

autoload.php

<?php
spl_autoload_register(function ($class_name) {
    $file_dir = str_replace(\'\\\\\',\'/\',$class_name);
    require_once $file_dir . \'.php\';
});

 

client.php为客户端发起请求的文件,autoload.php为自动加载类的文件

以上是关于php 代理模式的主要内容,如果未能解决你的问题,请参考以下文章

php设计模式 -- 代理模式

代理模式和php实现

php 代理模式

PHP 之 代理模式

php实现代理模式

php代理模式(proxy design)