PHP是否允许从这样的新对象调用方法:
new CEntry( new Control() )->actuate();
我可以将新对象作为参数传递,如new Control()
中所示。但是,它似乎不喜欢actuate()调用。
我收到错误:
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /home/foo/public_html/develop/foos/source/class.CEntry.php on line 4
答案 0 :(得分:5)
直到PHP 5.4,没有。在PHP 5.3及更早版本中,您将不得不使用另一个变量:
$obj = new CEntry( new Control() );
$obj->actuate();
答案 1 :(得分:1)
PHP是否允许从这样的新对象调用方法:
new CEntry( new Control() )->actuate();
它在> = PHP 5.4
中答案 2 :(得分:1)
对于小于5.4的版本,您可以使用括号实际使用此技巧:
(new CEntry( new Control() ))->actuate();