PHP 8 中的 Stringable 接口是什么?
在 PHP 8 中,添加了新的 Stringable 接口(__toSting)。此方法以双下划线(__)开头。__toString 方法允许将对象表示为字符串。当一个类使用 __toString 定义方法时,每当它需要作为字符串处理时,它将调用一个对象。
示例:使用 __toString 的 Stringable 接口
<?php class Employee{ public function __toString(): string { return 'Employee Name'; } } $employee = new Employee(); print_r((string)$employee); ?>
输出
Employee Name
在 PHP 8 中,Stringable 接口使得传递字符串变得容易。当一个类实现了 __toString 方法后,会自动添加一个Stringable 接口。它不需要显式实现接口。只要在施加严格类型(string_types=1)时,Stringable 接口对于类型提示就很有用。
示例:在 PHP 8 中使用 Stringable 接口
<?php declare(strict_types=1); class Employee { public function __toString() { return 'Employee Details'; } } $emp = new Employee; var_dump($emp instanceof Stringable); ?>
输出
bool(true)
广告