PHP のプロキシ モード (フォワード プロキシとリバース プロキシ) について話しましょう。
前の記事「 PHP の責任連鎖モデルについての簡単な話 」では、PHP の責任連鎖モデルについて紹介しましたが、この記事では、PHP デザイン パターンにおけるエージェンシー モデルについて理解します。
代理店という職業は、中国では不動産ブローカー、保険ブローカーという別名があり、実際、海外では不動産エージェント、保険代理店と呼ばれています。名前が示すように、これらは私たちのほとんどにとってなじみのない専門分野での仕事を処理するのに役立ちます。プロキシモードについても同様ですが、同時にフォワードプロキシとリバースプロキシについても簡単に紹介します。
#Gof クラス図と説明
#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();
の実装プロキシ モードは実際には非常にシンプルです。うっかり使用してしまうことがよくあります。
プロキシ モードとデコレータやアダプタの違いに注意してください。また、テンプレート メソッドのパターンもよく似ています。- Decorator、一般にオブジェクトを装飾し、メソッドの動作が増加し、主にオブジェクトを変更します。
- Adapter、一般にメソッドの動作が変更され、目的はインターフェイスの統一性を維持することです。ただし、別の実装を取得します
- テンプレート メソッド パターンについては後で説明します。ここで知っている限り、テンプレート メソッドは抽象クラスのサブクラスを呼び出すメソッドを結合するものです。
- プロキシ モードにはいくつかの形式があります: リモート プロキシ (例: サードパーティ インターフェイス SDK)、仮想エージェント (例: 画像の非同期ロード)、保護エージェントとインテリジェント ガイダンス (例: 権限の保護)、および最も一般的に実装されるエージェント私たちのコードは、実際には、実際のクラスの操作をエージェント クラスに置き換えることを目的としています **
例
SMS 機能を停止できません。今回はシンプルなプロキシ モードで前後のプロンプトを追加します。
SMS 送信クラス図完全なソース コード: 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 サイトにアクセスします。私たちが指定および選択したこの種類のプロキシがフォワード プロキシです。- ほとんどの PHPer は比較的よく知っています」結局のところ、現在では Nginx が Apache に代わって PHP の標準構成となっています。私たちが Web サイトにアクセスするとき、特定のパスやドメイン名がこのサーバー上にあるとは限りません。それらは、サーバー上で他のサーバーや他の人のサイトに直接プロキシされます。 Webサイトを閲覧している私たちにはわかりませんが、このように知らず知らずのうちにプロキシされている状況がリバースプロキシなのですが、一般的にサービスのバックエンド運用や保守には必須の知識です!
- 元のアドレス: https://juejin.cn/post/6844903959988011016
推奨学習: "PHP ビデオ チュートリアル
"
以上がPHP のプロキシ モード (フォワード プロキシとリバース プロキシ) について話しましょう。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
