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