這裏有許多功能與名稱前雙下劃線:爲什麼在PHP中雙下劃線(__)?
__construct,
__destruct,
__call,
__callStatic,
__get,
__set,
__isset,
__unset,
__sleep,
__wakeup,
__toString,
__invoke,
__set_state
__clone
我只需要知道爲什麼這個下劃線這些功能之前使用。
這裏有許多功能與名稱前雙下劃線:爲什麼在PHP中雙下劃線(__)?
__construct,
__destruct,
__call,
__callStatic,
__get,
__set,
__isset,
__unset,
__sleep,
__wakeup,
__toString,
__invoke,
__set_state
__clone
我只需要知道爲什麼這個下劃線這些功能之前使用。
Underscoritis。在PHP中,下劃線已被用於各種場合,例如在$ _XYZ superglobals中作爲前綴。
你列出的方法名是魔術方法。爲了讓它們看起來更有點專用它們的前綴有兩個下劃線。 - 這是通常發生在使用一個下劃線作爲公告已經太廣泛時。這種命名模式並不特定於PHP。
您仍然可以有兩個主要__
定義自己的職能,但你不應該避免與真正的魔術方法或未來的語言擴展混亂。 (雖然這不是很可能。)
只是說他們是特殊的(其中的一些,如__get,__set和__call被稱爲神奇的方法),並避免用自己的方法名干擾。 – Artefact2 2011-03-18 06:11:08