Metodo __toString

Il metodo __toString è un metodo magico in PHP che definisce come un oggetto dovrebbe comportarsi quando si tenta di convertirlo in una stringa. Questo metodo viene chiamato automaticamente quando l'oggetto viene utilizzato in un contesto in cui è prevista una stringa, ad esempio quando viene visualizzato con echo o durante la concatenazione. Il metodo deve restituire la rappresentazione in stringa dell'oggetto.

Sintassi

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

Esempio

Creiamo una semplice classe con il metodo __toString:

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

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

Risultato dell'esecuzione del codice:

php'User object'

Esempio

Un esempio più complesso con la restituzione delle proprietà dell'oggetto:

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

Risultato dell'esecuzione del codice:

php'Product: Laptop - $1000'

Vedi anche

  • il metodo __construct,
    che è il costruttore dell'oggetto
  • il metodo __destruct,
    che è il distruttore dell'oggetto