Continuando com a série de posts sobre os métodos mágicos do php, hoje falarei sobre o __toString().
Segundo a própria documentação oficial do php, o método __toString permite que uma classe decida como se comportar quando for convertida para uma string.
Isso facilita a vida, pois não precisamos chamar um método específico em uma instância para exibir um determinado comportamento. Basta dar um echo ou print no objeto.
Veja:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php class Hello { private $nome; public function __construct($nome) { $this->nome = $nome; } public function __toString() { return 'Hello ' . $this->nome; } } $class = new Hello('Rafael Wendel Pinheiro'); echo $class; //Escreverá "Hello Rafael Wendel Pinheiro" |
Quando dou um echo na instância, automaticamente ela é convertida em string e o método mágico é executado.
Vale lembrar que esse método não pode ser void, logo ele sempre deve retornar algo.
Abs.
Siga-me no twitter: @rafaelwendel