在PHP中调用父的构造函数

时间:2010-09-10 00:49:41

标签: php oop subclass

我有以下两个班级。

class Settings
{
    function __CONSTRUCT()
    {
        echo "Settings Construct";
    }
}

class PageManager extends Settings
{
    function __CONSTRUCT()
    {
        echo "PageManager Construct";
    }
}

$page = new PageManager();

我认为这样可以正常工作,但它只运行PageManager的构造函数。我假设它是因为我覆盖了Setting的构造函数。有没有办法可以调用父的构造函数?

2 个答案:

答案 0 :(得分:17)

只需使用parent ::

调用它
    /* Settings */
class Settings{
 function __CONSTRUCT(){
  echo "Settings Construct";
 }
}

/* PageManager */
class PageManager extends Settings{
 function __CONSTRUCT(){
    parent::__CONSTRUCT();
    echo "PageManager Construct";
 }
}

查看manual(Constructors and Destructors)

答案 1 :(得分:0)

此外:您应该知道PHP的这种行为并非__construct()函数所独有。