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

Fatal Error...

Novamente o meu projeto está dando erro agora por causa do caminho da pasta:

Warning: include_once(/opt/lampp/htdocs/banco2/classes/sistemaInterno/GerenciadorBonificacao.php): failed to open stream: Arquivo ou diretório inexistente in /opt/lampp/htdocs/banco2/autoload.php on line 7

Warning: include_once(): Failed opening '/opt/lampp/htdocs/banco2/classes/sistemaInterno/GerenciadorBonificacao.php' for inclusion (include_path='.:/opt/lampp/lib/php') in /opt/lampp/htdocs/banco2/autoload.php on line 7

Fatal error: Uncaught Error: Class 'classes\sistemaInterno\GerenciadorBonificacao' not found in /opt/lampp/htdocs/banco2/index.php:14 Stack trace: #0 {main} thrown in /opt/lampp/htdocs/banco2/index.php on line 14

index.php

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

    use classes\funcionarios\Diretor;// Para identificar o diretório da classe Diretor
    use classes\funcionarios\Designer;
    use classes\abstratas\Funcionario;    
    use classes\sistemaInterno\GerenciadorBonificacao;

    $diretor = new Diretor("Fernando", "890.765.675-00", 2300);
    $diretor->senha = "123456";
    $designer = new Designer("Diego", "023.433.569-21", 1600);

    $gerenciador = new GerenciadorBonificacao();//o objeto é instanciado gerenciador de bonificações
    $gerenciador->registrar($diretor);//chama o objeto p registrar a bonificaçõ do funcionário
    $gerenciador->registrar($designer);

    var_dump($gerenciador->getTotalBonificacao());

GerenciadorBonificacao.php

<?php 

    namespace classes\sistemaInterno;

    use classes\abstratas\Funcionario;

    class GerenciadorBonificacao{

        private $totalBonificacao;

        public function registrar(Funcionario $funcionario){//esta função usará a variável                                                     funcionario para trazer o valor da sua bonificação,                                         a função registrará a bonificação do funcionário
            $this->totalBonificacao += $funcionario->getBonificacao();

        }

        public function getTotalBonificacao(){

            return $this->totalBonificacao;

        }
    }
 ?>

autoload.php
3 respostas

Grasiela, boa tarde!

Você poderia compartilhar com a gente o seu código no Github, acredito que a forma em que os caminhos estão dispostos incorrretos, compartilhando com a gente eu posso rodar aqui e ver o que está acontecendo.

Espero ter ajudado e bons estudos!

Certo Felipe, aqui está o link do projeto: https://github.com/GrasielaMach14/poo2.git

solução!

Grasiela boa noite, Veja o nome da classe GerenciadorBonificacao, Pois voce criou o arquivo com o nome GerenciadorBonificacoes.php, com isso o autoload nao esta conseguindo encontrar a classe. Para resolver seu problema, deixe tanto o nome da classe quanto o nome do arquivo como GerenciadorBonificacao

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