interfaceПровереноPHP 8

Интерфейс Stringable

Stringable реализуется автоматически при наличии публичного __toString(), но явное объявление делает контракт заметнее.

interface Stringable { public function __toString(): string; }

Назначение

Stringable позволяет принять объект, способный вернуть строковое представление. Это представление должно быть безопасным, коротким и не выбрасывать исключение.

Пример

<?php
final class OrderId implements Stringable {
    public function __construct(private int $value) {}
    public function __toString(): string { return (string) $this->value; }
}

Ограничение

Строковое представление не обязано подходить для HTML, SQL или журнала. Контекстное экранирование выполняется в месте вывода.

Ошибка

Не используйте __toString() для тяжёлого запроса или изменяющей операции: неявный вызов станет неожиданно дорогим.

Связанные материалы

Источники и проверка

  • PHP Documentation Group — структурный источник, без внешней ссылки

Последняя содержательная проверка: . Автор-разработчик Михаил Каржин. Методика качества контента.

Данные этого сервиса

Настройки cookie и локальных данных

Аналитика

Текущий статус: не выбран. До согласия обе аналитические системы не загружаются.

Локальные данные

Удаление затрагивает только ключи PHP-сервиса в этом браузере и требует подтверждения.

Политики

Политика конфиденциальности · Политика использования файлов cookie