【发布时间】:2017-04-14 08:47:17
【问题描述】:
我一直被这个 PHP 怪癖绊倒,似乎无法解释自己为什么会发生这种情况。
为什么会这样
new MyClass()->doSomething();
触发错误,同时
(new MyClass())->doSomething();
和
$myObject = new MyClass();
$myObject->doSomething();
按预期工作?
是否有正当理由需要在构造函数周围使用方括号?
我发现this RFC 解释说这是一个有意识的选择,但我似乎仍然无法理解它的原因。
【问题讨论】:
-
@Ananth,这根本没有回答问题。
-
new MyClass() 实际上返回 MyClass() 上的指针
标签: php oop constructor