2014-12-29 73 views
1

如果這是一個重複的appologies,似乎無法搜索正確的話或不存在(不知何故,我懷疑這一點,可能我是一個明顯的錯誤)。奇怪的繼承PHP問題

<?php 

class Test { 
    public $var = true; 

    public function test() { 
     var_dump($this->var); 
    } 
} 

class Testing extends Test { 
    public $var = false; 
} 

$test = new Testing(); 
$test->test(); 

足夠簡單的程序,基類,一個方法,繼承帶覆蓋的類,然後調用基方法。

給出輸出,假,行返回False,

什麼?爲什麼兩次?我的問題確實是個好人。

bool(false) 
bool(false) 

感謝

+2

可能是'test'方法用作'php4'的構造函數,因爲它與class有相同的名字... –

+0

這是對的,doh。 –

+0

如果你喜歡,請正確回答問題。 –

回答

2

這事,因爲你的方法名具有相同的類名。
像這樣的方法被用作PHP4中的類構造函數 - php.net
它們仍然可以工作,當您還沒有用於兼容性的__construct方法時。