Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro na execução do test

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
1 resposta
solução!

No seu método avalia, você escreveu MaiorValor, com letra maiúscula.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software