猿问

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

我一直认为 - 在没有构造函数参数的情况下 - 括号(花括号)在创建类实例时遵循类名,是可选的,并且您可以根据自己的想法包含或排除它们。


这两个陈述是平等的:


$foo = new bar;

$foo = new bar();

我对吗?或者对我不知道的括号有一些意义吗?


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


人到中年有点甜
浏览 868回答 3
3回答

守着一只汪

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

慕丝7291255

$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 );除此之外,正如已接受的答案中已经提到的,没有区别。

慕的地6264312

我不会遗漏它们,因为它仍然是一个函数调用 - 对构造()函数方法的调用。当你调用其他不需要参数的函数或方法时,也不允许省略它。那么我为什么要用构造函数来做呢?new Foo()而不是new Foo更好的可读性恕我直言。
随时随地看视频慕课网APP
我要回答