PHP 代理模式
1. 在客户端与实体之间建立一个代理对象(proxy),客户端对实体进行的操作全部委派给代理对象,隐藏实体的具体实现细节。
2. Proxy还可以与业务代码分离,部署到另外的服务器,业务代码中通过RPC来委派任务。
//代理接口 interface Proxy { public function getUserName($id); public function setUserName($id, $newName); } //用户操作代理实现 class UserProxy implements Proxy { //读操作 public function getUserName($id) { return Factory::getDataBase('slave')->find($id); } //写操作 public function setUserName($id, $newName) { return Factory::getDataBase('master')->data(['name' => $newName])->where(['id' => $id]) } } //代理模式:数据库主从,通过代理设置主从读写设置。 $proxy = new UserProxy(); $proxy->getUserName(1); $proxy->setUserName(1, '张三');