通常我創建一個新的對象invocating他的構造函數通常的方式:PHP構造函數調用語法
$instance= new Class();
最近,我讀了很多代碼的替代語法(不parentesys):
$instance= new Class;
這兩種方法之間有很大差異還是它們是等價的?
我還沒有找到有關此主題的參考資料'至今。
通常我創建一個新的對象invocating他的構造函數通常的方式:PHP構造函數調用語法
$instance= new Class();
最近,我讀了很多代碼的替代語法(不parentesys):
$instance= new Class;
這兩種方法之間有很大差異還是它們是等價的?
我還沒有找到有關此主題的參考資料'至今。
沒有區別。
你說得很對,很難證明。 The Basics介紹了new
關鍵字,但所有示例都有括號,並沒有提及它們的可選性。
編輯:從最好的,我能看到的是例子official documentation如:
// This will call B() as a constructor $b = new B;
正是我在尋找的東西。謝謝 – Eineki 2010-01-28 08:43:04
我不熟悉PHP,但後者可能調用默認的構造函數,而前者調用沒有參數的構造函數。
不幸的是,PHP不支持多個構造函數。不錯,儘管。 :) – 2010-01-28 00:43:41
回覆:沒有多個構造函數。誠然,您可以忽略它們,如果簽名中提供了默認值,則在撥打電話時它們將被替換。 – sfrench 2010-01-28 01:03:14
據我所知,除非你需要傳遞參數給你的構造函數,否則這兩個表達式都是相同的。糾正我,如果我錯了。 – 2010-01-28 00:45:57
據我所知,我同意你的看法。不過,我想確定這是一個預期的功能。 – Eineki 2010-01-28 01:27:33