Metoda __toString

Metoda __toString este o metodă magică în PHP care definește cum ar trebui să se comporte un obiect atunci când se încearcă transformarea lui într-un șir de caractere. Această metodă este apelată automat atunci când obiectul este utilizat într-un context în care se așteaptă un șir de caractere, de exemplu la afișarea cu echo sau la concatenare. Metoda trebuie să returneze reprezentarea sub formă de șir de caractere a obiectului.

Sintaxă

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

Exemplu

Să creăm o clasă simplă cu metoda __toString:

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

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

Rezultatul executării codului:

php'User object'

Exemplu

Un exemplu mai complex cu returnarea proprietăților obiectului:

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

Rezultatul executării codului:

php'Product: Laptop - $1000'

Vedeți și

  • metoda __construct,
    care este constructorul obiectului
  • metoda __destruct,
    care este destructorul obiectului