segunda-feira, 30 de junho de 2008

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...

Nenhum comentário: