2
respostas

Call to undefined function depositar() in php shell

Pessoal, ao tentar fazer o depósito para uma $contaUm, apareceu esse erro aqui Call to undefined function depositar() in php shell.

<?php
class Conta
{
    // definir conta
    // eu posso definir os tipos de dados dessa conta 
    public string $cpfTitular;
    public string $nomeTitular;
    public float $saldo = 0;

    public function sacar (float $valorASacar)
    {
        if ($valorASacar > $this->$saldo){
            echo "Saldo Indisponível";
        } else {
            $this->$saldo -= $valorASacar;
        }
    }

    public function depositar(float $valorADepositar): void
    {
        if ($valorADepositar < 0) {
            echo "Valor precisa ser positivo";
        } else {
            $this->saldo += $valorADepositar;
        }
    }

    public function transferir (float $valorATransferir, Conta $contaDestino): void
    {
        if ($valorATransferir > $this->saldo){
            echo "Saldo indisponível";
        } else {
            $this -> sacar($valorATransferir);
            $contaDestino -> depositar($valorATransferir);
        }
    }
}

Eu tive alguns problemas para instalar o PHP na minha máquina, instalei o 7.4.28. Seria um erro de instalação do PHP em sí ou é algum erro no código?

Eu tentei fazer como o professor fez durante a aula no terminal do VSCode

php -a
require 'src/Conta.php';
$contaUm = new Conta();
$contaUm -> depositar(500);

Logo após esse comando aparece a linha de erro. O que está acontecendo?

2 respostas

Oi, Pedro, como vai?

Pelo erro, parece não ser problema da instalação, mas sim problema no código.

Você consegue subir seu código inteiro em alguma plataforma? Por exemplo, GitHub e Google Drive? Dessa forma, vou conseguir lhe auxiliar melhor.

Fico no aguardo.

Abraços e bons estudos!

Faço das minhas palavras as do Murilo, eu executei o seu código em minha máquina para poder lhe auxiliar, mas não retorna erro. Quanto a versão do PHP ou problemas de instalação não pode ser de acordo com o erro que apresentou.

Será necessário mesmo a checagem do código completo e do momento de execução, para que possamos lhe ajudar melhor.