ホームページ >バックエンド開発 >PHPチュートリアル >PHP のプロキシ モード (フォワード プロキシとリバース プロキシ) について話しましょう。
前の記事「 PHP の責任連鎖モデルについての簡単な話 」では、PHP の責任連鎖モデルについて紹介しましたが、この記事では、PHP デザイン パターンにおけるエージェンシー モデルについて理解します。
代理店という職業は、中国では不動産ブローカー、保険ブローカーという別名があり、実際、海外では不動産エージェント、保険代理店と呼ばれています。名前が示すように、これらは私たちのほとんどにとってなじみのない専門分野での仕事を処理するのに役立ちます。プロキシモードについても同様ですが、同時にフォワードプロキシとリバースプロキシについても簡単に紹介します。
#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-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();
手順
この例は非常に簡単です。はまだ通常のプロキシ実装です。ここでは、フォワード プロキシとリバース プロキシについて説明します。
通常、科学的インターネット アクセス (ファン強) と呼ばれるものは、フォワード プロキシです。インターネットにアクセスするには、ソフトウェアを使用するか、プロキシ ゲートウェイを自分で設定します。実際、私たちは「リクエストが指定されたゲートウェイに送信され、このゲートウェイが私たちに代わって他の Web サイトにアクセスします。私たちが指定および選択したこの種類のプロキシがフォワード プロキシです。推奨学習: "PHP ビデオ チュートリアル
"
以上がPHP のプロキシ モード (フォワード プロキシとリバース プロキシ) について話しましょう。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。