Não sei o que está acontecendo, vi a aula varias vezes para tentar encontrar o erro mas ate agora nasa.
// classe Avaliador
namespace Alura\Leilao\Service;
use Alura\Leilao\Model\Leilao;
class Avaliador
{
private $maiorValor;
public function avalia(Leilao $leilao): void
{
$lances = $leilao->getLances();
$ulimolance = $lances[count($lances)-1];
$this->MaiorValor = $ulimolance->getValor();
}
public function getMaiorValor(): float
{
return $this->maiorValor;
}
}
use Alura\Leilao\Model\Lance;
use Alura\Leilao\Model\Leilao;
use Alura\Leilao\Model\Usuario;
use Alura\Leilao\Service\Avaliador;
require 'vendor/autoload.php';
$leilao = new Leilao('Fiat 147 0KM');
$maria = new Usuario('Maria');
$felipe = new Usuario('Felipe');
$leilao->recebeLance(new Lance($maria, 2500));
$leilao->recebeLance(new Lance($felipe, 4000));
$leiloleiro = new Avaliador();
$leiloleiro->avalia($leilao);
$maiorValor = $leiloleiro->getMaiorValor();
echo $maiorValor;
E quando eu rodo o codigo da o seguinte erro.
PHP Fatal error: Uncaught TypeError: Return value of Alura\Leilao\Service\Avaliador::getMaiorValor() must be of the type float, null returned in C:\xampp\htdocs\ativadeumTest\src\Service\Avaliador.php:23
Stack trace:
#0 C:\xampp\htdocs\ativadeumTest\teste-avaliador.php(24): Alura\Leilao\Service\Avaliador->getMaiorValor()
#1 {main}
thrown in C:\xampp\htdocs\ativadeumTest\src\Service\Avaliador.php on line 23
Fatal error: Uncaught TypeError: Return value of Alura\Leilao\Service\Avaliador::getMaiorValor() must be of the type float, null returned in C:\xampp\htdocs\ativadeumTest\src\Service\Avaliador.php:23
Stack trace:
#0 C:\xampp\htdocs\ativadeumTest\teste-avaliador.php(24): Alura\Leilao\Service\Avaliador->getMaiorValor()
#1 {main}
thrown in C:\xampp\htdocs\ativadeumTest\src\Service\Avaliador.php on line 23