码迷,mamicode.com
首页 > Web开发 > 详细

php 代理模式

时间:2017-10-16 16:48:05      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:16px   nsf   cin   size   after   load   分享   ext   cte   

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

技术分享

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 代理模式

标签:16px   nsf   cin   size   after   load   分享   ext   cte   

原文地址:http://www.cnblogs.com/changfengSven/p/7677127.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!