我一直认为-在没有构造函数参数的情况下-在创建类实例时,类名称后面的圆括号(花括号)是可选的,并且您可以根据自己的喜好包括或排除它们。
这两个陈述是相等的:
$foo = new bar;
$foo = new bar();
我说的对吗?或者,括号中是否有我不知道的意义?
我知道这听起来像是一个RTM问题,但我已经搜索了一段时间(包括整个PHP OOP部分),似乎找不到一个直接的答案。
发布于 2009-12-22 20:07:16
它们是等效的。如果您不是使用任何code convention编写代码,请使用您更喜欢的。就我个人而言,我喜欢省略它,因为它对我来说真的很杂乱。
发布于 2015-02-25 08:21:45
如果您将参数传递给构造函数,则$foo = new bar()
将比$foo = new bar
更有用。例如:
class bar {
public $user_id;
function __construct( $user_id ) {
$this->user_id = $user_id
}
}
-
$foo = new bar( $user_id );
除此之外,正如已经在公认的答案中提到的,没有区别。
https://stackoverflow.com/questions/1945989
复制相似问题