有没有办法在PHP中创建匿名对象

有没有办法在PHP中创建匿名对象,php,Php,我可以使用如下代码: new \Controllers\ServiceController()->fbdump(); 因此,我不必创建一个var来执行单个方法?是的,但您需要添加一组括号,因为->的优先级高于new: (new \Controllers\ServiceController)->fbdump(); 嗯,很有趣。为什么?@Zhigalin如果不添加括号,它将解析为new(\Controllers\ServiceController->fbdump())哪一个不

我可以使用如下代码:

    new \Controllers\ServiceController()->fbdump();

因此,我不必创建一个var来执行单个方法?

是的,但您需要添加一组括号,因为
->
的优先级高于
new

(new \Controllers\ServiceController)->fbdump();

嗯,很有趣。为什么?@Zhigalin如果不添加括号,它将解析为
new(\Controllers\ServiceController->fbdump())哪一个不起作用。但为什么?为什么“->”的优先级不如“新”?@Zigalin我不确定,除了这就是Zend引擎的工作原理。这可能是他们第一次使用PHP4时做出的一个决定,从那时起就没有改变过。据我所知,它甚至没有在任何地方被记录,因此没有括号的行为可能会在某一点上发生变化,或者在某些引擎中工作方式不同,而在其他引擎中工作方式不同。不过,带括号的行为应该始终定义良好。