You are currently browsing Marcelo Araujo's articles.
Palavras-chave: PHP 5, fluent interfaces, object chaining
Algumas práticas podem melhorar a legibilidade de um código, e uma delas é o uso de interfaces fluentes ou encadeamento de objetos.
Normalmente, a maioria dos métodos setter de um objeto apresentam retorno do tipo void. Mas, em um objeto com interface fluente, os setters irão retornar um objeto, de modo que se possa encadeá-lo.
Vale lembrar que esta prática é apenas suportada no PHP 5, visto que o PHP 4 não suporta referência direta aos objetos retornados por métodos.
Vejamos o exemplo:
class A {
private $_n = '';
public function setA($n)
{
$this->_n = $n;
return $this;
}
public function reverse()
{
$this->_n = strrev($this->_n);
return $this;
}
public function getA()
{
return $this->_n;
}
}
$a = new A();
print $a->setA("codare")->reverse()->getA();
# Retorna: eradoc
?>
E lembre-se: interfaces fluentes requerem situações fluentes!







Comentários Recentes