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

Que erro pode ser esse?

Estou com o erro Fatal error: Uncaught Error: Class 'classes\sistemaInterno\GerenciadorBonificacao' not found in /var/www/html/avancando-ob-php/index.php:13 Stack trace: #0 {main} thrown in /var/www/html/avancando-ob-php/index.php on line 13

O código da autoload.php

<?php

function load($namespace){
$namespace = str_replace("\\","/",$namespace);
$caminhoAbsoluto =__DIR__ . "/". $namespace . ".php";
return include_once $caminhoAbsoluto;

}

spl_autoload_register(__NAMESPACE__."\load");

?>

O código do GerenciadorBonificacao.php

<?php

namespace classes\sistemaInterno;
use classes\abstratas\Funcionario;

class GerenciadorBonificacao{
    private $totalBonificacoes;

    public function registrar(Funcionario $funcionario){
        $this->totalBonificacoes += $funcionario->getBonificacao();

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

    }
}

E o código da index.php

<?php

ini_set("display_errors",1);
require_once "autoload.php";

use classes\funcionarios\Diretor; // chamar user apenas quando a classe estiver num diretorio diferente
use classes\funcionarios\Designer;
use classes\abstratas\Funcionario;
use classes\sistemaInterno\GerenciadorBonificacao;

$diretor = new Diretor("233.333.333.33", 1000.00);
$designer = new Designer("322.222.222.22", 1000.00);
$gerenciador = new GerenciadorBonificacao();
$gerenciador->registrar($diretor);

var_dump($gerenciador->getTotalBonificacoes());

?>

Oque tem de errado?

2 respostas
solução!

boa noite. Não sei se o seu erro é exatamente esse, mas percebei que a função getTotalBonificacoes no arquivo GerenciadorBonificacao.php está retornando: return $this->getTotalBonificacoes;, para mim o correto seria return $this->totalbonificacoes;

Mas acho que pode ter um errro na sua estrutura de pastas também, então caso não resolva posta github o seu projeto inteiro

Obrigada Marcos.

Na verdade era erro na estrutura das pastas e mais umas coisinhas. Consegui resolver sozinha :D