public function __tostring()
时间: 2023-08-18 07:08:03 浏览: 140
深入分析php之面向对象
`__tostring()` 是 PHP 中的一个魔术方法,当尝试将一个对象转换为字符串时会自动调用此方法。换句话说,如果一个对象中定义了 `__tostring()` 方法,则在使用 `echo` 或 `print` 输出该对象时,会自动调用这个方法并返回对应的字符串。
举个例子,假设我们有一个 `Person` 类,其中定义了 `__tostring()` 方法:
```php
class Person {
public $name;
public $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
public function __tostring() {
return "Name: " . $this->name . ", Age: " . $this->age;
}
}
$person = new Person("John", 30);
echo $person; // 输出:Name: John, Age: 30
```
在上面的例子中,当我们使用 `echo` 输出 `$person` 对象时,会自动调用 `__tostring()` 方法并返回对应的字符串,最终输出 `"Name: John, Age: 30"`。
需要注意的是,`__tostring()` 方法必须返回一个字符串类型的值,否则会抛出一个致命错误。
阅读全文