2011-11-16 221 views
-3

我是PHP OOP的新手,我認爲public $var__construct()完全一樣。 有什麼區別?我應該使用哪一個?

+0

蘋果和橘子在這裏:$ var是一個屬性 - 一個變量; __construct()是一種方法 - 執行某些操作的函數。 – Anonymous

+0

也許可以解釋爲什麼你認爲他們是「一樣的」? –

+0

因爲我使用__construct($ var){$ this-> var = $ var}來創建一個像public $ var這樣的屬性的變量。 – LotusH

回答

6

它們是完全不同的東西:一個聲明一個類屬性,另一個是類構造函數的名稱。

這裏沒有「一個或那個」這樣的東西。

我建議您重新閱讀關於classes and objects的所有信息,在您的PHP書籍或手冊中。

0

public $var不是構造函數,其中__construct()是。我希望你的意思是別的。

正如manual指出,有2種構造函數:

class Bar { 
    public function Bar() { 
     // "old" style constructor 
    } 
} 

class Foo { 
    function __construct() { 
     // new style constructor 
    } 
} 
0
public $var; 

聲明一個變量,將是外界訪問。

function __construct() { /* Do stuff */ } 

定義「魔術」構造函數方法。當創建新實例時(即創建new對象),將調用此方法。該方法接受和處理創建新對象時傳遞的任何參數。

關鍵的區別是一個定義了一個變量(屬性),另一個定義了一個函數(方法)。

相關問題