如何在PHP中定义允许执行以下操作的类Foo
:
$foo = new Foo();
$foo->bar;
$foo();
答案 0 :(得分:1)
您询问可调用对象或将对象视为函数。为此,您需要实现__invoke()
方法,如下所示:
class Foo {
public function __invoke()
{
echo 'invoke!';
}
}
了解详情:http://php.net/manual/en/language.oop5.magic.php#object.invoke
此外,您可以根据需要多次拨打$foo->bar;
,就像您可以写一样:$a = 5; $a;
- 但它不起作用。它只是一个领域。如果它是可调用的,您必须添加括号来调用它。