代理人這個職業在中國有另外一個稱呼,房產經濟人、保險經濟人,其實這個職業在國外都是叫做房產代理或者保險代理。顧名思義,就是由他們來幫我們處理這些對我們大部分人來說都比較生疏的專業領域的工作。代理模式也是一樣的道理,同時,在這篇文章中還會簡單的介紹正向代理和反向代理是怎麼回事。
GoF定義:為其它物件提供一種代理以控制對這個物件的存取
GoF類圖
程式碼實現
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();
**
完整程式碼:https://github.com/zhangyue0503/designpatterns-php/blob/master/12.proxy/source/proxy.php
簡訊功能不能停,這回用簡單的代理模式來增加一些前後的提示吧!
簡訊傳送類圖
完整原始碼: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();
說明
原文地址:https://juejin.cn/post/6844903959988011016
作者:硬核專案經理
推薦學習:《》
以上就是聊聊PHP中的代理模式(正向代理和反向代理)的詳細內容,更多請關注TW511.COM其它相關文章!