Metoda __toString

Metoda __toString jest magiczną metodą w PHP, która definiuje, jak obiekt powinien się zachowywać przy próbie konwersji go na ciąg znaków. Ta metoda jest automatycznie wywoływana, gdy obiekt jest używany w kontekście, gdzie oczekiwany jest ciąg znaków, na przykład przy wypisywaniu przez echo lub przy konkatenacji. Metoda powinna zwracać reprezentację ciągu znaków obiektu.

Składnia

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

Przykład

Stwórzmy prostą klasę z metodą __toString:

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

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

Wynik wykonania kodu:

php'User object'

Przykład

Bardziej złożony przykład ze zwracaniem właściwości obiektu:

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;
?>

Wynik wykonania kodu:

php'Product: Laptop - 1000'

Zobacz też

  • metoda __construct,
    która jest konstruktorem obiektu
  • metoda __destruct,
    która jest destruktorem obiektu