php设计模式之代理模式

<?php

namespace Tools;

/*
代理模式
在客户端与实体之间建立一个代理对象(proxy),客户端对实体进行操作全部委派给代理对象,隐藏实例的具体实现细节
Proxy还可以与业务代码分离,部署到另外的服务器。业务代码中通过RPC来委派任务
*/

interface IUserProxy{
	function getUserName($id);
	function setUserName($id,$name);
}

class Proxy implements IUserProxy{

	function getUserName($id)
	{
		$db = mysqli_connect("192.168.1.3","root","","test");
		$res = $db->query("select username from user where id={$id} limit 1");
		return $res->fetch_assoc();
	}

	function setUserName($id, $name)
	{
		$db = mysqli_connect("192.168.1.4","root","","test");
		$res = $db->query("update user set username={$name} where id={$id}");
		return $res;
	}

}

$id = $_GET['id'];
$name = $_GET['name'];
$pro = new \Tools\Proxy();
$username = $pro->getUserName($id);
print_r($username);
$pro->setUserName($id,$name);
echo 'OK';



你可能感兴趣的:(php设计模式之代理模式)