Utilizando o método __toString()
Um dos conceitos na orientação a objetos é a unicidade. Cada objeto é único no sistema, não existem dois objetos iguais.
Você constata isto simplesmente imprimindo o objeto na tela, pois o sistema irá exibir o OID (object identificator) do objeto em memória. Cada objeto possui um OID diferente.
Caso você queira que o sistema exiba outra informação ao imprimir o objeto, utilize o método __toString(), ele permite redefinir o comportamento padrão ao se utilizar, por exemplo, o comando “print” ou “echo” sobre um objeto, sendo interessante para fins de debug.
A seguir temos duas classes e um objeto de cada classe. A primeira não utiliza o __toString(), sendo exibido o OID do objeto, a segunda utiliza, sendo exibido o nome da pessoa.
<?php
class Automovel
{
private $modelo;
function setModelo($modelo)
{
$this->modelo = $modelo;
}
}
class Pessoa
{
private $nome;
function setNome($nome)
{
$this->nome = $nome;
}
function __toString()
{
return '#'.$this->nome;
}
}
$palio = new Automovel;
$palio->setModelo('Palio ED 1.0');
echo $palio; // resultado = Object id #1
echo "\n<br>\n"; //quebra linha
$maria = new Pessoa;
$maria->setNome('Mariana Pereira');
echo $maria; // resultado = #Mariana Pereira
echo "\n<br>\n"; //quebra linha
?>









