Prezados,
Estou com o seguinte erro:
Fatal error: Uncaught Error: Class "Alura\Banco\Service\ControladorDeBonificacoes" not found in C:\Users\ELAINE\Documents\Estudos\Programação\PHP\oo\bonificacoes.php:22 Stack trace:
#0 {main} thrown in C:\Users\ELAINE\Documents\Estudos\Programação\PHP\oo\bonificacoes.php on line 22
Alguém me ajuda por favor?
<?php
namespace Alura\Banco\Service;
use Alura\Banco\Modelo\Funcionario;
class ControladorDeBonificacoes
{
private $totalBonificacoes = 0;
public function adicionaBonificacaoDe(Funcionario $funcionario)
{
$this->totalBonificacoes += $funcionario->calculaBonificacao();
}
public function recuperaTotal(): float
{
return $this->totalBonificacoes;
}
}
<?php
namespace Alura\Banco\Modelo;
use Alura\Banco\Modelo\CPF;
use Alura\Banco\Modelo\Pessoa;
class Funcionario extends Pessoa{
private string $cargo;
private float $salario;
public function __construct(string $nome, CPF $cpf, string $cargo, float $salario)
{
parent::__construct($nome, $cpf);
$this->cargo = $cargo;
$this-> salario = $salario;
}
public function alteraNome($nome): void{
$this->nome = $this->validaNome($nome);
}
public function recuperaCargo(): string{
return $this->cargo;
}
public function recuperaSalario(): string{
return $this->salario;
}
public function calculaBonificacao(): float{
return $this->salario * 0.1;
}
}
<?php
require_once 'autoload.php';
use Alura\Banco\Modelo\{CPF, Funcionario};
use Alura\Banco\Service\ControladorDeBonificacoes;
$umFuncionario = new Funcionario(
'Vinicius Dias',
new CPF('01301768855'),
'Desenvolvedor',
1000
);
$umaFuncionaria = new Funcionario(
'Patricia',
new CPF('49666302829'),
'Gerente',
3000
);
$controlador = new ControladorDeBonificacoes();
$controlador->adicionaBonificacaoDe($umFuncionario);
$controlador->adicionaBonificacaoDe($umaFuncionaria);
echo $controlador->recuperaTotal();
<?php
spl_autoload_register(function (string $nomeCompletoDaClasse){
$caminhoArquivo = str_replace('Alura\\Banco', 'src', $nomeCompletoDaClasse);
$caminhoArquivo = str_replace('\\', DIRECTORY_SEPARATOR, $caminhoArquivo);
$caminhoArquivo .= '.php';
if(file_exists($caminhoArquivo)) {
require_once $caminhoArquivo;
}
});