2017-09-29 12 views
0

現在のクラスをパラメータとして渡すにはどうすればよいですか? 例:パラメータとしてPHPクラスを渡しますか?

class Example 
{ 
    public function test() { 
     $class = new Class2(I want to pass the Example class instance here) 
    } 
} 

class Class2 
{ 
    public function __construct(Example $example) { 
    } 
} 
+0

https://stackoverflow.com/questions/32614696/passing-a-class-as-function-parameter –

答えて

0
class Example 
{ 
    public function test() { 
     $class = new Class2(new static()); 
    } 
} 
0

あなたは$この、新しい自己()または新しい静的(としてそれを渡すことができます)。あなたは同じ結果を得るでしょう。

class Example 
{ 
    public $name = "test"; 

    public function test() { 
     return $class = new Class2($this); 
    } 
} 

class Class2 
{ 
    private $example = null; 
    public function __construct(Example $example) { 
     $this->example = $example; 
    } 

    public function testMe() { 
     echo $this->example->name; 
    } 

    public function setExampleName($name) { 
     $this->example->name = $name; 
    } 
} 

$e = new Example(); 

$e->test()->testMe(); 

結果:

test 
0

は、オブジェクトの作成時にパラメータとして$これをで送ります。 $ thisは現在のクラスオブジェクトを表しているため、ここの例は

class Example { 
    public function test() { 
    $class = new Class2($this); 
    } 
} 
関連する問題