PHP 类实例化。使用还是不使用括号?[已关闭]

2022-08-30 08:40:12

我一直认为 - 在没有构造函数参数的情况下 - 在创建类实例时,类名后面的括号(大括号)是可选的,您可以根据自己的个人心血来潮包含或排除它们。

这两个语句是相等的:

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

我说的对吗?还是括号中有什么我不知道的意义?

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


答案 1

它们是等效的。如果您没有按照任何代码约定进行编码,请使用您更喜欢的代码。就个人而言,我喜欢把它排除在外,因为它对我来说真的只是混乱。


答案 2

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

除此之外,正如在接受的答案中已经提到的那样,没有区别。


推荐