有没有办法实例化一个类并在一行中调用其中一个方法?我希望以下内容可行,但事实并非如此:
(new User())->get_name();
答案 0 :(得分:7)
这是不可能的。但是,您可以创建一个返回新实例的静态方法。类似的东西:
class User {
public static function create() {
return new self();
}
}
User::create()->get_name();
答案 1 :(得分:7)
我知道这个问题已经过时了,但回复可能会产生误导。
从版本5.4开始,您可以实例化并调用内联方法:
(new Foo)->bar();
答案 2 :(得分:2)
不,对不起,遗憾的是这在PHP中不起作用。您可以使用静态工厂方法或类似的方法解决它。
答案 3 :(得分:0)
尝试这是否适合您。它从类中调用函数而不是对象。
User::get_name();