2016-09-17 19 views
-6

私はBeerIngredientの2つのクラスを持っています。属性としてのオブジェクト、親クラスを取得

私のクラスBeer$ingredientsと呼ばれるプロパティを持っていて、それはIngredientの配列です。

もしそこにこのオブジェクトがによってインスタンス化、またはBeer$ingredients財産に属している場合は、私のIngredientクラスに私が判断することができる方法はありますか?

+1

「インスタンス化された_hand_」はどういう意味ですか? – SOFe

+0

私のコードには次のような意味があります:$ ingredients = new Ingredient(2); – Treast

+0

お待ちください。コンストラクタを使用する以外に、「成分」を作成する他の方法はありますか? – SOFe

答えて

0

暗黙のメソッドはありません。そのときにインスタンスに通知する必要があります。

は、この例を参照してください:Ingredientのインスタンスが$ingredient->hasOwner()を使用してBeerで使用されている場合

class Beer{ 
    private $ingredients = []; 

    public function addIngredient(Ingredient $ing){ 
     $this->ingredients[] = $ing; 
     $ing->setOwner($this); 
    } 
} 

class Ingredient{ 
    private $owner; 

    public function getOwner(){ 
     return $this->owner; 
    } 

    public function setOwner($owner){ 
     $this->owner = $owner; 
    } 

    public function hasOwner() : bool{ 
     return isset($this->owner); 
    } 
} 

今、あなたは確認することができます。

関連する問題