注意:该功能只在PHP 5.3.0以及以上版本上有效。
示例代码如下:
class Person
{
public $sex;
public $name;
public $age;
public function __construct($name="", $age=25, $sex='Male')
{
$this->name = $name;
$this->age = $age;
$this->sex = $sex;
}
public function __invoke() {
echo 'This is an object';
}
}
$person = new Person('John'); // 赋初始值
$person();
输出结果如下:
This is an object
如果在未定义__invoke()方法的情况下将对象作为函数使用,就会得到以下的结果:
Fatal error: Function name must be a string in D:\phpStudy\WWW\test\index.php on line 18