ホームページ >バックエンド開発 >PHPチュートリアル >PHP リフレクションを使用して委任モードを実装する_PHP チュートリアル
委任パターンは、ソフトウェア設計パターンの基本的な手法です。委任パターンでは、2 つのオブジェクトが同じリクエストの処理に参加し、リクエストを受け入れたオブジェクトがリクエストを別のオブジェクトに委任して処理します。委任パターンは基本的な手法であり、状態パターン、戦略パターン、訪問者パターンなどの他の多くのパターンは、基本的に、より特別な場合に委任パターンを使用します。
動的委任の概要: 動的委任の概念は、Jakarta Byte-Code Engineering Library (BCEL) から来ています。既存のクラスを分析でき、インターフェイス、抽象クラス、さらにはランタイム具象クラスについても、バイトエンコードされたデリゲート クラスを生成できます。
委任されたインターフェイス/クラスは次の条件を満たす必要があります: 動的委任は最大 1 つのクラスのみを委任できますが、複数のインターフェイスをプロキシできます。この制限は、Java の単一継承モデルに由来しています。 Java クラスには最大 1 つの親クラスがあります。生成される委任クラスは委任クラスを親クラスとするため、複数の委任クラスを指定することは不合理です。委任されたクラスが指定されていない場合、デフォルトの親クラスは Object です。
以下は、PHP リフレクション メカニズムを使用して動的プロキシを実装するためのコードです:
リーリー彼のメソッドは、Fruit クラスではなく、プロキシ クラス FruitDelegator を通じて実装されていることがわかります。
同様に、次のコードも実行できます:
れーれー