如果从析构函数中调用构造函数会发生什么?

时间:2012-04-30 13:51:38

标签: php constructor destructor infinite-loop

从__destruct(),

调用__construct()函数
<?php

public function __construct() {
    echo "Hi";
}

public function __destruct() {
    $this->__construct();
}

?>

会创建无限循环吗?

2 个答案:

答案 0 :(得分:4)

不,它不会。 __construct只是常规函数,而是直接调用而不是使用new ClassName;

答案 1 :(得分:4)

不,但这会:

class Test {

    public function __construct() {
        echo "Hi";
    }

    public function __destruct() {
         new Test();
    }

}

new Test();

示例:http://ideone.com/94XUg