ホームページ  >  記事  >  バックエンド開発  >  laravelで、親クラスにオブジェクトを注入し、その後、さまざまなサブクラスに応じてこのオブジェクトのさまざまな実装を注入したいのですが、方法はありますか?

laravelで、親クラスにオブジェクトを注入し、その後、さまざまなサブクラスに応じてこのオブジェクトのさまざまな実装を注入したいのですが、方法はありますか?

WBOY
WBOYオリジナル
2016-12-01 00:56:21941ブラウズ

親クラスにオブジェクトを注入し、その後、さまざまなサブクラスに従ってこのオブジェクトのさまざまな実装を注入したいと考えています。

親クラスがこのオブジェクトを使用しているため、サブクラスに挿入できませんが、別の実装が必要です

挿入されたコードを制御します:

laravelで、親クラスにオブジェクトを注入し、その後、さまざまなサブクラスに応じてこのオブジェクトのさまざまな実装を注入したいのですが、方法はありますか?

オブジェクトは親クラスに挿入されるため、このように書くと機能しません。

laravelで、親クラスにオブジェクトを注入し、その後、さまざまなサブクラスに応じてこのオブジェクトのさまざまな実装を注入したいのですが、方法はありますか?

返信内容:

親クラスにオブジェクトを注入し、その後、さまざまなサブクラスに基づいてこのオブジェクトのさまざまな実装を注入したいと考えています。

親クラスがこのオブジェクトを使用しているため、サブクラスに挿入できませんが、別の実装が必要です

挿入されたコードを制御します:

laravelで、親クラスにオブジェクトを注入し、その後、さまざまなサブクラスに応じてこのオブジェクトのさまざまな実装を注入したいのですが、方法はありますか?

オブジェクトは親クラスに挿入されるため、このように書くと機能しません。

laravelで、親クラスにオブジェクトを注入し、その後、さまざまなサブクラスに応じてこのオブジェクトのさまざまな実装を注入したいのですが、方法はありますか?

方法 1: 親クラスのアクション メソッドにインスタンスを直接挿入しないでください。親クラスは他のメソッドから関連するインスタンスを取得し、サブクラスはこのメソッドをオーバーライドして、自身で挿入されたインスタンスを返します。例:

親クラス:

リーリー

サブカテゴリ:

リーリー

方法 2: 特性を使用します。

方法 3: __construct に注入します。方法 1 と同様に、親クラスの __construct はパラメータに依存せず、サブクラスの __construct は任意にパラメータに依存します。

なぜこのようなデザインになっているのですか?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。