2011-11-12 8 views
0
class Parent 
{ 
public function exec() 
{ 
    // here I need the child object! 
} 
} 

class Child extends Parent 
{ 
public function exec() 
{ 
    // something 
    parent::exec(); 
} 
} 

ご覧のとおり、親から子オブジェクトが必要です。どうすればそれに到達できますか?PHP、私は親から子オブジェクトが必要です、どのように?

+2

'Child'が実際に' Parent'のサブセットではなく、オブジェクト間の階層を確立しようとするのであれば、継承ではなくツリーやリンクリストのようなデータ構造が必要です。 – Wiseguy

答えて

2

あなたは、引数として子を渡すことができます。

class ParentClass 
{ 
    public function exec($child) 
    { 
     echo 'Parent exec'; 
     $child->foo(); 
    } 
} 

class Child extends ParentClass 
{ 
    public function exec() 
    { 
     parent::exec($this); 
    } 

    public function foo() 
    { 
     echo 'Child foo'; 
    } 
} 

what you're trying to doを行うには良い方法があるかもしれないので、これはほとんど、しかし必要ありません。

+1

XY問題へのリンク+1。 –

関連する問題