像调用一个函数一样调用一个对象


Call an object like it's a function?

是否有任何方法在PHP调用一个对象,就像它是一个函数?

class Funct {
  public function __callSelf() {
    echo 'Called!';
  }
}
$myFunc = new Funct();
$myFunc();
// Output
Called!

像这样?

您可以尝试使用__invoke魔术方法。

当脚本试图将对象作为函数调用时,将调用__invoke()方法。

注意:该特性从PHP 5.3.0开始提供。

尝试__construct()__invoke()