1
resposta

Leilao $leilao dentro da function, como interpretou?

olá, se alguém puder dar uma ajuda:

no Método salva foi passado o Leilão salva(Leilao $leilao) e ele jogou para um array: $this->leiloes[]

mas nos Métodos: recuperarFinalizados() e recuperarNaoFinalizados() não foi passado nada, como ele conseguiu achar o Leilão dentro da function dentro do array_filter?

public function recuperarFinalizados(): array { return array_filter($this->leiloes, function (Leilao $leilao) { return $leilao->estaFinalizado(); }); }

grato qq ajuda

1 resposta

Olá Luiz.

Quando ele passa $this->leiloes está se referindo à private $leiloes = []; e acessando o array vazio da própria classe ou os valores informados em public function salva(Leilao $leilao)

No trecho function (Leilao $leilao) ele se refere à classe Leilao: ... extends LeilaoDao nomeada nas outras classes com use Alura\Leilao\Dao\Leilao as LeilaoDao;

A função array_filter você pode ver mais detalhes no link: https://www.php.net/manual/pt_BR/function.array-filter.php

Abraço.