ホームページ  >  記事  >  バックエンド開発  >  PHP リフレクションを使用して委任モードを実装する_PHP チュートリアル

PHP リフレクションを使用して委任モードを実装する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:34:00856ブラウズ

委任パターンは、ソフトウェア設計パターンの基本的な手法です。委任パターンでは、2 つのオブジェクトが同じリクエストの処理に参加し、リクエストを受け入れたオブジェクトがリクエストを別のオブジェクトに委任して処理します。委任パターンは基本的な手法であり、状態パターン、戦略パターン、訪問者パターンなどの他の多くのパターンは、基本的に、より特別な場合に委任パターンを使用します。

動的委任の概要: 動的委任の概念は、Jakarta Byte-Code Engineering Library (BCEL) から来ています。既存のクラスを分析でき、インターフェイス、抽象クラス、さらにはランタイム具象クラスについても、バイトエンコードされたデリゲート クラスを生成できます。

委任されたインターフェイス/クラスは次の条件を満たす必要があります: 動的委任は最大 1 つのクラスのみを委任できますが、複数のインターフェイスをプロキシできます。この制限は、Java の単一継承モデルに由来しています。 Java クラスには最大 1 つの親クラスがあります。生成される委任クラスは委任クラスを親クラスとするため、複数の委任クラスを指定することは不合理です。委任されたクラスが指定されていない場合、デフォルトの親クラスは Object です。

以下は、PHP リフレクション メカニズムを使用して動的プロキシを実装するためのコードです:

リーリー

彼のメソッドは、Fruit クラスではなく、プロキシ クラス FruitDelegator を通じて実装されていることがわかります。

同様に、次のコードも実行できます:

れーれー

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/752369.html技術記事委任パターンは、ソフトウェア設計パターンの基本的な手法です。委任パターンでは、2 つのオブジェクトが同じリクエストの処理に参加し、リクエストを受け入れたオブジェクトがリクエストを別のオブジェクトに委任します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。