Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

não localiza a classe ControleDeBonificacoes

Caros, estou com problema no arquivo rh.php não localiza a classe ControleDeBonificacoes. já fiz de tudo e não sei onde pode estar o erro. agradeço muito se puderem me ajudar. obrigada

o erro que aparece é este: Class 'ControladorDeBonificacoes' not found in C:\estudo\php\mybank\rh.php:11

classe ControleDeBonificacoes

<?php
namespace Alura\Banco\Servico;

use Alura\Banco\Modelo\Funcionario;

class ControladorDeBonificacoes 
{
    private $totalBonificacoes = 0;

    public function adicionaBonificacaoDe (Funcionario $funcionario) 
    {
        $this->totalBonificacoes = $this->totalBonificacoes  + $funcionario->calculaBonificacao();

    }

    public function getTotalBonificacoes ():  float 
    {
        return $this->totalBonificacoes;
    }
}

classe autoload.php

<?php
spl_autoload_register(function(string $nomeClasse) {

$caminhoArquivo = str_replace("Alura\\Banco", "src", $nomeClasse);
$caminhoArquivo = str_replace('\\', DIRECTORY_SEPARATOR, $caminhoArquivo);
$caminhoArquivo .= ".php";

if (file_exists($caminhoArquivo)) {
    require_once($caminhoArquivo);
}
}) ;

arquivo rh.php

<?php
require_once "autoload.php";

use Alura\Banco\Servico\ControleDeBonificacoes;
use Alura\Banco\Modelo\Funcionario;
use Alura\Banco\Modelo\Cpf;

$manuel = new Funcionario ("Manuel", new Cpf("123.456.789-01"), "desenvolvedor", 2500);
$valeria = new Funcionario ("Valeria", new Cpf("856.745.854-19"), "analista mkt", 5000);

$controlador = new ControladorDeBonificacoes();
$controlador->adicionaBonificacaoDe($manuel);
$controlador->adicionaBonificacaoDe($valeria);

echo "Total de Bonificacoes: ".$controlador->getTotalBonificacoes;
3 respostas

Mary, seu erro tá bem claro.

Você está tentando criar uma classe chamada ControladorDeBonificacoes quando essa classe não existe. O nome da classe que você criou é ControleDeBonificacoes.

Dica: Use uma IDE. Esse problema seria mostrado para você se você estivesse utilizando uma IDE. :-)

oi Vinicius, obrigada pelo retorno! eu estou usando o Visual Code. só informava que a classe não foi encontrada. adoraria usar o IDE PHP storm que você usa nas aulas. mas é pago. vejo nas aulas como ajuda no desenvolvimento. por enquanto não é possível. mas quem sabe em breve. de qualquer forma obrigada ;-)

solução!

Mary, você pode procurar por IDEs gratuitas, como Netbeans, Eclipse, etc. Testa algumas. Vale a pena.

Ah, não se esquece de marcar o tópico como resolvido. :-)