将$ this变量作为参数传递

时间:2014-12-03 08:51:49

标签: php oop

我需要帮助理解以下php代码。

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

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

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

1 个答案:

答案 0 :(得分: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。