Home > Article > Backend Development > Let’s talk about the proxy mode in PHP (forward proxy and reverse proxy)
In the previous article " A Brief Talk on the Responsibility Chain Model in PHP" we introduced the responsibility chain model in PHP. This article will take you to understand the agency model in the PHP design pattern.
The profession of agent has another name in China, real estate broker and insurance broker. In fact, this profession is called real estate agent or insurance agent abroad. As the name suggests, they help us handle work in these professional fields that are unfamiliar to most of us. The same is true for the proxy mode. At the same time, this article will also briefly introduce forward proxy and reverse proxy.
GoF definition: Provide a proxy for other objects to control access to this object
GoF class diagram
##Code implementation
interface Subject { public function Request(); } class RealSubject implements Subject { function Request() { echo "真实的操作", PHP_EOL; } } class Proxy implements Subject { private $realSubject; public function __construct() { $this->realSubject = new RealSubject(); } public function Request() { echo "代理的操作", PHP_EOL; $this->realSubject->Request(); } } $proxy = new Proxy(); $proxy->Request();
Full code: https://github.com/zhangyue0503/designpatterns-php/blob/master/12.proxy/source/proxy.php
SMS sending class diagram
Full source code: https://github.com/zhangyue0503/designpatterns-php /blob/master/12.proxy/source/proxy-msg.php<?php interface SendMessage { public function Send(); } class RealSendMessage implements SendMessage { public function Send() { echo '短信发送中...', PHP_EOL; } } class ProxySendMessage implements SendMessage { private $realSendMessage; public function __construct($realSendMessage) { $this->realSendMessage = $realSendMessage; } public function Send() { echo '短信开始发送', PHP_EOL; $this->realSendMessage->Send(); echo '短信结束发送', PHP_EOL; } } $sendMessage = new ProxySendMessage(new RealSendMessage()); $sendMessage->Send();
Instructions
Original address: https://juejin.cn/post/6844903959988011016Author: Hardcore Project ManagerRecommended learning: "
PHP Video Tutorial"
The above is the detailed content of Let’s talk about the proxy mode in PHP (forward proxy and reverse proxy). For more information, please follow other related articles on the PHP Chinese website!