2014-12-03 160 views
0

我需要帮助理解下面的PHP代码。

$this->_PageHeader = new PAGE_HEADER($this); 

我想了解PAGE_HEADER($ this)中$ this参数的功能。

我知道$这是在一个类内引用属性和方法,但在这种情况下,将通过此参数传递什么值。

+1

'的var_dump($这个)',你就会知道它 – Rizier123 2014-12-03 08:52:28

+1

它是通过整个对象的构造函数依赖注入。 – 2014-12-03 08:52:48

+1

检查PAGE_HEADER的构造函数以查看与之相关的内容。 – 2014-12-03 08:56:03

回答

1

$this包含您所在类的当前实例。因此这意味着您将包含代码$this->_PageHeader = new PAGE_HEADER($this);的类的当前对象传递给类PAGE_HEADER的构造函数。

例如:

class A 
{ 
    public $value = 1; 

    public function execute() 
    { 
     $b = new B($this); 
    } 
} 

class B 
{ 
    public $value = 2; 

    public function __construct(A $dep) 
    { 
     echo $dep->value; // 3 
     echo $this->value; // 2 
    } 
} 

$a = new A(); 
$a->value = 3; 
$a->execute(); // In this execution, $this is the object $a. 

此代码将输出32

+0

非常感谢。它清除了整个过程。 – 2014-12-03 20:24:38

相关问题