Метод __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,
    който е деструктор на обекта