可能重複:
PHP class instantiation. To use or not to use the parentheses?實例化一個有或沒有括號的類?
我還沒有發現任何官方文件上的這一點。但afaik無論是否使用括號來實例化類都沒關係 - 只要沒有涉及參數,對不對?
$car = new Car;
或
$car = new Car();
但誰能告訴我,如果有性能上的區別嗎?哪種方式更「正確」?有沒有這方面的官方文件?
可能重複:
PHP class instantiation. To use or not to use the parentheses?實例化一個有或沒有括號的類?
我還沒有發現任何官方文件上的這一點。但afaik無論是否使用括號來實例化類都沒關係 - 只要沒有涉及參數,對不對?
$car = new Car;
或
$car = new Car();
但誰能告訴我,如果有性能上的區別嗎?哪種方式更「正確」?有沒有這方面的官方文件?
性能的任何差異都將是絕對可以忽略不計的。
雖然這兩種方式都很好,我個人更喜歡使用new Car();
因爲通常情況下,一個方法是被這裏叫,和函數/方法在PHP調用需要()
。此外,它與具有參數的實例化更加一致。
但最後,它的味道。你選擇哪種方式並不重要,但是當你選擇一種方法時,堅持不懈!
他們都是正確的方式,我敢肯定,性能也沒有任何差異。
第一個實例化沒有「官方」參考。在官方的PHP文檔中,你總是找到第二個。所以,我認爲這是一致的。但是,這是你所有的選擇
在一個快速瀏覽過程中,我發現大量文檔示例使用非括號表單的實例,其中包括許多「類和對象」部分。 – GZipp 2010-10-06 17:07:45
正是我要寫的,+1。 – tplaner 2010-10-06 13:51:41
+1並刪除我的 - 我同意100%。 – lonesomeday 2010-10-06 13:53:35
+1老實說,我不認爲'新的ClassUsingDefaultConstructor;'和'新的ClassWithConstructorWithParameters($ foo,$ bar);'用於相同的腳本是一致的*不管是什麼*。但我想這只是我而已。 – BoltClock 2010-10-06 13:54:34