PHP结构型模式之代理模式(php搭建代理服务器)新鲜出炉

随心笔谈2年前发布 admin
186 0 0

文章摘要

这篇文章介绍了主题接口、真实主题类和代理类的实现。主题接口定义了`request()`方法,用于处理主题请求。真实主题类`RealSubject`实现了该接口,而代理类`Proxy`通过继承实现了同样的接口。代理类在请求时会检查权限(通过`checkAccess()`方法)并记录访问(通过`logAccess()`方法)。客户端代码展示了如何通过代理类调用真实主题的`request()`方法。文章重点突出主题接口的实现及其扩展应用。

<?php
// 主题接口
interface Subject
{
public function request();
}
// 真实主题类
class RealSubject implements Subject
{
public function request()
{
echo “RealSubject handles request.\n”;
}
}
// 代理类
class Proxy implements Subject
{
private $realSubject;
public function __construct(RealSubject $realSubject)
{
$this->realSubject=$realSubject;
}
public function request()
{
if ($this->checkAccess()) {
$this->realSubject->request();
$this->logAccess();
}
}
private function checkAccess()
{
echo “Proxy checks access.\n”;
return true;
}
private function logAccess()
{
echo “Proxy logs access.\n”;
}
}
// 客户端代码
$realSubject=new RealSubject();
$proxy=new Proxy($realSubject);
$proxy->request();

© 版权声明

相关文章