呼叫__construct從__destruct()()函數,如果從析構函數調用構造函數,會發生什麼情況?
<?php
public function __construct() {
echo "Hi";
}
public function __destruct() {
$this->__construct();
}
?>
將它創建無限循環?
呼叫__construct從__destruct()()函數,如果從析構函數調用構造函數,會發生什麼情況?
<?php
public function __construct() {
echo "Hi";
}
public function __destruct() {
$this->__construct();
}
?>
將它創建無限循環?
沒有的,而不是直接的,但這樣會:
class Test {
public function __construct() {
echo "Hi";
}
public function __destruct() {
new Test();
}
}
new Test();
+1,那太棒了!但有點可怕....謝謝 – doNotCheckMyBlog
不,它不會。 __construct
只是普通的功能,而所謂的使用new ClassName;
+1,哦,但我看到了幾個代碼,你可以通過調用__construct – doNotCheckMyBlog
@Craftero來調用父節點的構造函數,因爲你在已經創建的對象上調用了父節點的方法,沒有創建新的對象 – lazyhammer
你試過了嗎?這是一個很好的發現方式。 –
它打印兩次,這就是它......但它仍然在後臺運行或不運行?有什麼方法可以檢查嗎? – doNotCheckMyBlog
@Craftero爲什麼呢?你沒有創建一個對象(被破壞......),你只是調用一個函數。 – jeroen