<?php class CallableClass { public function __invoke($param1, $param2) { var_dump($param1,$param2); } } $obj = new CallableClass; $obj(123, 456);//直接把对象当作方法使用 var_dump(is_callable($obj));
实例化对象本身是不能被调用,但是类中如果实现 __invoke() 方法,则把实例对象当作方法调用,会自动调用到 __invoke() 方法,参数顺序相同。