Boa noite!
Utilizando o decorator, nós estamos este código:
foreach($this->proximo($contas) as $c){
$filtradas[] = $c;
}
O que exatamente a função está retornando? Já que ainda não fizemos a chamada do método filtrar nela.
Boa noite!
Utilizando o decorator, nós estamos este código:
foreach($this->proximo($contas) as $c){
$filtradas[] = $c;
}
O que exatamente a função está retornando? Já que ainda não fizemos a chamada do método filtrar nela.
Oi Matheus, tudo bom?
O método proximo da classe filtro, aplica o filtro também:
abstract class Filtro {
protected $outroFiltro;
function __construct($outroFiltro = null) {
$this->outroFiltro = $outroFiltro;
}
abstract public function filtra($contas);
protected function proximo($contas) {
// aqui a gente ta devolvendo o valor do método filtra em cima da referencia $outroFiltro
if(!is_null($this->outroFiltro)) return $outroFiltro->filtra($contas);
else return Array();
}
}
É nessa parte que os filtros se chamam de forma recursiva, aplicando em cadeia e, por consequencia, acumulando os comportamentos =)
Abraço!
Obrigado pela resposta! Mas ainda não entendi o funcionamento. Como este array funciona, para onde é redirecionado?