我一直认为 - 在没有构造函数参数的情况下 - 括号(花括号)在创建类实例时遵循类名,是可选的,并且您可以根据自己的想法包含或排除它们。这两个陈述是平等的:$foo = new bar;$foo = new bar();我对吗?或者对我不知道的括号有一些意义吗?我知道这听起来像一个RTM问题,但我一直在寻找(包括整个PHP OOP部分),我似乎无法找到一个直接的答案。
3 回答
![?](http://img1.sycdn.imooc.com/545868b60001587202200220-100-100.jpg)
慕丝7291255
TA贡献1859条经验 获得超6个赞
$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 );
除此之外,正如已接受的答案中已经提到的,没有区别。
![?](http://img1.sycdn.imooc.com/545864490001b5bd02200220-100-100.jpg)
慕的地6264312
TA贡献1817条经验 获得超6个赞
我不会遗漏它们,因为它仍然是一个函数调用 - 对构造()
函数方法的调用。当你调用其他不需要参数的函数或方法时,也不允许省略它。那么我为什么要用构造函数来做呢?new Foo()
而不是new Foo
更好的可读性恕我直言。
- 3 回答
- 0 关注
- 867 浏览
添加回答
举报
0/150
提交
取消