【发布时间】:2010-11-29 05:26:38
【问题描述】:
可能重复:
In PHP, can you instantiate an object and call a method on the same line?
有可能吗?
通常需要两行:
$instance = new MyClass();
$variable = $instance->method();
在 PHP 中可以实现这样的事情吗?:
$variable = new MyClass()->method();
当然,第一个代码在可读性和代码简洁等方面更好,但我只是好奇你是否可以缩小它。如果方法返回另一个实例,也许它会很有用,例如:
$instance = new MyClass()->methodThatReturnsInstance();
在 PHP 中可以吗?
【问题讨论】:
-
你有没有亲自尝试过,看看它是否有效??
-
@Mark Rushakoff:代码 new MyClass()->method() 无效(解析错误),所以我想知道是否有可能以其他方式实现。
-
你好,你可以看看我给这个问题的答案:stackoverflow.com/questions/1402505/…
-
尽管在另一个问题 (stackoverflow.com/questions/1402505/…) 中说了些什么,我确信这是可能的,但我目前找不到咒语。可以说它很丑,不值得努力。
标签: php object methods instance