Stringable
Интерфейс объектов, которые можно превратить в строку.
Синтаксис
class Name implements StringableВозвращаемое значение
stringМетод `__toString()` возвращает строковое представление.
Примеры
Тип string|Stringable в параметре:
<?php
class Email
{
public function __construct(private string $address) {}
public function __toString(): string
{
return $this->address;
}
}
function show(string|Stringable $value): string
{
return '<' . $value . '>';
}
var_dump(new Email('a@example.com') instanceof Stringable);
echo show(new Email('a@example.com'));Результат:
bool(true)
<a@example.com>Примечания
Писать implements Stringable не обязательно: PHP добавляет интерфейс любому классу с методом __toString().
См. также
- strval — Преобразует значение в строку.
- JsonSerializable — Интерфейс, определяющий, как объект превращается в JSON.
- sprintf — Возвращает строку, собранную по шаблону.
В учебнике
- Магические методы — Магические методы PHP — __toString, __get и __set, __call, __invoke и клонирование объектов.