Quando tento executar as funções dá o seguinte erro: Undefined variable: saldo
Alguém sabe informar o porquê?
Quando tento executar as funções dá o seguinte erro: Undefined variable: saldo
Alguém sabe informar o porquê?
Carolina, pode compartilhar seu código?
O erro diz que uma variável chamada saldo
não existe.
Eu fiz exatamente como no curso e mesmo assim não funciona.Eu consigo criar a conta normalmente, mas quando tento chamar qq função não funciona. Eu to usando o php 7.4.3
Os passos que estou fazendo são: php > $primeiraConta = new Conta(); php > var_dump($primeiraConta); object(Conta)#1 (1) { ["cpf"]=> uninitialized(string) ["nome"]=> uninitialized(string) ["saldo"]=> float(0) } php > $primeiraConta->depositar(100); PHP Notice: Undefined variable: saldo in /var/www/html/aprendendo-php/Conta.php on line 39 PHP Notice: Undefined property: Conta::$ in /var/www/html/aprendendo-php/Conta.php on line 39
============================================ class Conta { public string $cpf; //atributos public string $nome; public float $saldo = 0;
public function sacar(float $valorSacar): void {
if($valorSacar > $this->$saldo){
echo "Você não pode sacar";
return;
}
$this -> $saldo -= $valorSacar;
}
public function depositar(float $valorDepositar) : void {
if($valorDepositar < 0){
echo "Depósito deve ser valor positivo";
return;
}
$this -> $saldo += $valorDepositar;
}
public function transferir(float $valorATransferir, Conta $contaDestino): void
{
if ($valorATransferir > $this->saldo) {
echo "Saldo indisponível";
return;
}
$this->sacar($valorATransferir);
$contaDestino->depositar($valorATransferir);
}
}
Carolina, não é $this -> $saldo
. É $this->saldo
. Para acessar propriedades nós não utilizamos o $
.
Funcionooouuu!!! Muito obrigada Vinicius! Desculpa eu ter me passado nisso. Aproveitando o espaço, você é um ótimo professor. Todos os cursos que você administra são maravilhosos. Parabéns!
Não precisa se desculpar, Carolina. É mais do que normal. :-D
E muito obrigado pelo feedback. Fico muito feliz que esteja gostando. :-D :-D