在PHP中,您可以实例化对象并在同一行上调用方法吗?

是的,可以实例化一个对象,并可以使用PHP在一行上调用一个方法。此功能从PHP 5.4版开始生效。

可以通过访问类的类成员来实例化对象。这可以在下面的片段中看到-

(new my_var)-> my_instance()

代码说明-在这里,my_instance是方法,而my_var是需要实例化的对象。

示例

class Test_class {
   public function __construct($param) {
      $this->_var = $param;
   }
   public function my_method() {
      return $this->_var * 2;
   }
   protected $_var;
}
function Test_class($param) {
   return new Test_class($param);
}
$a = Test_class(10)->my_method();
var_dump($a);

输出结果

这将产生以下输出-

int(20)