Metoda __toString

Metoda __toString je magická metoda v PHP, která definuje, jak se má objekt chovat při pokusu o jeho převod na řetězec. Tato metoda je automaticky volána, když je objekt použit v kontextu, kde je očekáván řetězec, například při výpisu pomocí echo nebo při konkatenaci. Metoda musí vracet řetězcovou reprezentaci objektu.

Syntaxe

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

Příklad

Vytvoříme jednoduchou třídu s metodou __toString:

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

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

Výsledek provedení kódu:

php'User object'

Příklad

Složitější příklad s vracením vlastností objektu:

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

Výsledek provedení kódu:

php'Product: Laptop - $1000'

Viz také