Checando tipagem de objetos por parâmetro

Em PHP, como tudo é dinâmico – até a tipagem de variáveis, é comum quando trabalhamos com objeto verificar seu tipo com o instanceof. Mas existem um jeito mais elegante que é o seguinte:

class carro {
… bla bla bla …
}

class cavalo {
… bla bla bla …
}

function imprimeCarros( carro $umCarro ) {
print $umCarro;
}

$meuCarro = new carro();
$meuCavalo = new cavalo();

imprimeCarros( $meuCarro );
imprimeCavalos( $meuCavalo );

Na primeira chamada de imprimeCarro vai ocorrer tudo ok. Na segunda chamada, como o tipo de objeto é diferente, vai estourar um erro. Sei que parece óbvio mas, deixa o código mais elegante…

This entry was posted in PHP. Bookmark the permalink.