PHP类实例化。使用还是不使用括号?

问题描述:

我一直认为 - 在没有构造函数参数的情况下 - 创建类实例时括号(花括号)跟随类名称,是可选的,并且您可以在您自己的个人兴趣中包含或排除它们。PHP类实例化。使用还是不使用括号?

,这两个语句是相等的:

$foo = new bar; 
$foo = new bar(); 

我说得对不对?还是对于我没有意识到的括号有一些意义?

我知道这听起来像一个RTM问题,但我一直在寻找一段时间(包括整个PHP OOP部分),我似乎无法找到一个直接的答案。

它们是等价的。如果你没有编码code convention,请使用你更喜欢的。就我个人而言,我喜欢把它抛弃,因为它对我来说真的很混乱。

+2

同意。如果构造函数没有使用任何参数,我也将它们排除在外 – AntonioCS 2009-12-22 12:21:11

+1

谢谢。我当时希望是这样。 - 我个人喜欢总是包含它们。坏习惯从我的Java/C#天:) – Atli 2009-12-22 12:24:06

+20

..另外,最后部分看起来像一个假笑唱猴(); laaaa-la – 0scar 2009-12-22 13:08:14

$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); 

除此之外,和已经在接受答复中提到,没有任何区别。