2
可能重複:
PHP class instantiation. To use or not to use the parenthesis?
Omission of brackets and parameter-less object constructors何時在新的班級名稱後添加括號?
帶或不帶括號,新的類似乎不打擾。所以,我懷疑括號()
的用法。我搜索了PHP手冊,沒有得到它。有人可以解釋嗎?
可能重複:
PHP class instantiation. To use or not to use the parenthesis?
Omission of brackets and parameter-less object constructors何時在新的班級名稱後添加括號?
帶或不帶括號,新的類似乎不打擾。所以,我懷疑括號()
的用法。我搜索了PHP手冊,沒有得到它。有人可以解釋嗎?
括號的目的是讓你輸入你的構造函數可以接受的任何參數。
class Example{
private $str;
public function __construct($str){
$this->str = $str;
}
public function output(){
echo $this->str;
}
}
$ex = new Example; // missing argument error
$ex = new Example('Something');
$ex->output(); // echos "Something"
如果您的類構造函數不接受任何參數,您可以將括號留出。爲了更好的代碼,我總是保留括號,不管構造函數是否接受任何參數。
來自C#或Java背景的大多數編碼器會保留括號,因爲它們更加熟悉它們。
我不明白爲什麼我是downvoted試圖回答提問者的問題。 – mauris 2012-02-17 09:12:01
我真的很感謝你的回答以及其他幫助我完成PHP旅程的專家。有時候很難理解爲什麼在沒有提示的情況下投下任何錯誤。我會將問題保持一段時間,以查看投票結果的人是否有其他可說的內容。 – Jenny 2012-02-17 09:18:52
我沒有downvote,但我會爭論它的好代碼來省略它們:更少的cruft。 – Gordon 2012-02-17 09:21:24