Atl*_*tli 70 php oop class instantiation
我一直认为 - 在没有构造函数参数的情况下 - 括号(花括号)在创建类实例时遵循类名,是可选的,并且您可以根据自己的想法包含或排除它们.
这两个陈述是平等的:
$foo = new bar;
$foo = new bar();
Run Code Online (Sandbox Code Playgroud)
我对吗?或者对我不知道的括号有一些意义吗?
我知道这听起来像一个RTM问题,但我一直在寻找(包括整个PHP OOP部分),我似乎无法找到一个直接的答案.
Gor*_*don 55
它们是等价的.如果您没有按照任何代码约定进行编码,请使用您更喜欢的代码.就个人而言,我喜欢把它留下来,因为它对我来说真的很混乱.
$foo = new bar()$foo = new bar如果您将参数传递给构造函数,将会很有用。例如:
class bar {
public $user_id;
function __construct( $user_id ) {
$this->user_id = $user_id
}
}
Run Code Online (Sandbox Code Playgroud)
——
$foo = new bar( $user_id );
Run Code Online (Sandbox Code Playgroud)
除此之外,正如在接受的答案中已经提到的,没有区别。