是否可以直接使用新对象?即“new foo() - > zork()”

时间:2014-06-18 23:45:35

标签: php syntax constructor

我有一个PHP类,其成员返回一个assoative数组。 我可以做

$bar = new foo();
$something = $bar->zork();

和$ Something包含了我的期望。

如果我这样做

$something = new foo()->zork();

我收到错误:意外的T_OBJECT_OPERATOR。

这种在Java中非常常见的构造可以用PHP完成吗?

1 个答案:

答案 0 :(得分:2)

允许,但请使用

$something = (new foo())->zork();

额外的括号是必不可少的

我相信这种语法只在PHP 5.4.0中引入,所以你仍然会遇到早期版本的PHP错误