Où et pourquoi utilisons-nous __toString () en PHP?

Je comprends comment ça fonctionne, mais pourquoi nous les avons pratiquement l'utiliser?

<?php
    class cat {
        public function __toString() {
            return "This is a cat\n";
        }
    }

    $toby = new cat;
    print $toby;
?>

N'est-ce pas la même chose que ceci:

<?php
    class cat {
        public function random_method() {
            echo "This is a cat\n";
        }
    }

    $toby = new cat;
    $toby->random_method();
?>

ne peut-on pas utiliser toute autre méthode publique à la sortie de n'importe quel texte?
Pourquoi avons-nous besoin de la magie de la méthode comme celle-ci?

source d'informationauteur Stann