Метод __toString

Метод __toString является магическим методом в PHP, который определяет, как объект должен вести себя при попытке преобразования его в строку. Этот метод автоматически вызывается, когда объект используется в контексте, где ожидается строка, например при выводе через echo или при конкатенации. Метод должен возвращать строковое представление объекта.

Синтаксис

phppublic function __toString(): string
{
  // return string representation
}

Пример

Создадим простой класс с методом __toString:

php<?php
  class User
  {
    public function __toString(): string
    {
      return 'User object';
    }
  }

  $user = new User();
  echo $user;
?>

Результат выполнения кода:

php'User object'

Пример

Более сложный пример с возвращением свойств объекта:

php<?php
  class Product
  {
    private $name = 'Laptop';
    private $price = 1000;

    public function __toString(): string
    {
      return $this->name . ' - $' . $this->price;
    }
  }

  $product = new Product();
  echo 'Product: ' . $product;
?>

Результат выполнения кода:

php'Product: Laptop - $1000'

Смотрите также

  • метод __construct,
    который является конструктором объекта
  • метод __destruct,
    который является деструктором объекта