当试图用调用函数的方式调用对象时,就会自动调用其__invoke()方法
注意:该功能只在PHP 5.3.0以及以上版本上有效。
示例代码如下:
<?php 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
登录后可发表评论