Por que implementar Interface em OOP?
Acabei de ter esta conversa rápida sobre o porquê de implementar Interface em classes quando se trabalha com orientação a objetos e achei bastante pertinente.
Resposta curta: Interface serve para garantir que o código que utiliza o objeto vai ter determinada funcionalidade disponível; não importa como o objeto vai fazer, contanto que possa fazer. É como contratar alguém com diploma.
Referências:
Voltas e mais voltas com SPL
Recentemente, precisei de um banco de dados de provérbios e fiz um singelo script para ler alguns sites, mas era chato ter que fazer um script inteiro ou aglomerar laços pra cada site que eu encontrava. Pra evitar repetição de código, mantive uma classe por site, que, em conjunto com as classes e interfaces da Standard PHP Library (SPL), resumiram o código final a um único foreach:
$proverbios = new Proverbios;
$proverbios->append(new Proverbios_LifesABirch);
$proverbios->append(new Proverbios_Aborla);
$proverbios->append(new Proverbios_JangadaBrasil);
foreach($proverbios as $proverbio){
echo $proverbio, “\n”;
}



