2012-03-14 81 views
0

我只是讀代碼和我碰到一個名爲__toString此功能來強調是函數原型:使用前公共職能名

public function __construct($par) 

現在我不能明白爲什麼編碼器選擇__construct,而不是原因構造爲函數名稱。如果有人能幫助我,我將非常感激。

我已閱讀this問題說私人和受保護的功能可以以下劃線開始,但它是一個公共功能。請幫我理解爲什麼在這種情況下編碼器選擇使用下劃線。謝謝

+1

可能重複的[爲什麼雙下劃線(__)在PHP中?](http://stackoverflow.com/questions/5348663/why-double-underscore-in-php),另請參閱:http:// php.net/manual/en/language.oop5.magic.php – 2012-03-14 09:11:32

+0

「PHP將所有以__開頭的函數名稱保留爲魔術。建議您不要在PHP中使用帶__的函數名稱,除非您需要一些記錄的魔術功能。 「 – Gordon 2012-03-14 09:27:05

+0

爲什麼有人對此表示懷疑?我想補充一點:在你的代碼中使用「__」是一種糟糕的風格。 – Sliq 2012-07-03 13:28:13

回答

2

__construct,__toString都是以double _開頭的魔術函數。

而且所有私有函數啓動單_不是標準,但開發商更喜歡這種方式,因爲以確定公共和私有方法..

所有神奇的功能是不公開。