Estou com problemas na parte onde ele referencia as pastas usando o comando namespace
, as minhas classes Conta
e Titular
estão dentro de Modelo\Conta
. Usei o namespace Modelo\Conta tanto pra minha classe Conta quanto para Titular porém me apresenta um erro. Estou usando o VScode pra fazer o treinamento porém parei nesta parte caso puderem ajudar agradeço.
Classe Titular:
<?php
namespace Alura\Banco\Modelo\Conta;
class Titular extends Pessoa
{
private $endereco;
public function __construct(CPF $cpf, string $nome, Endereco $endereco)
{
parent::__construct($nome, $cpf);
$this->endereco = $endereco;
}
public function validaNomeTitular(string $nomeTitular)
{
if (strlen($nomeTitular) < 5) {
echo "Nome precisa ter pelo menos 5 caracteres";
exit();
}
}
public function getEndreco(): Endereco
{
return $this->endereco;
}
}
Classe Conta:
namespace Alura\Banco\Modelo\Conta;
class Conta
{
//Atributos
private Titular $titular;
private float $saldo;
private static $numeroDeContas = 0;
public function __construct(Titular $titular)
{
$this->titular = $titular;
$this->saldo = 0;
self::$numeroDeContas++;
}
public function __destruct()
{
self::$numeroDeContas--;
}
public function saca(float $valorASacar): void
{
if ($valorASacar > $this->saldo) {
//this é a referencia para o objeto que chamou o metodo
echo "saldo indidponivel";
return;
}
$this->saldo -= $valorASacar;
}
public function deposita(float $valorADepositar): void
{
if ($valorADepositar < 0) {
echo "Valor precisa ser positivo";
return;
}
$this->saldo += $valorADepositar;
}
public function transfere(float $valorATransferir, Conta $contaDestino): void
{
if ($valorATransferir > $this->saldo) {
echo "Saldo indisponível";
return;
}
$this->saca($valorATransferir);
$contaDestino->deposita($valorATransferir);
}
public function recuperaSaldo(): float
{
return $this->saldo;
}
public static function recuperaNumeroDeContas(): int
{
return self::$numeroDeContas;
}
public function recuperaNomeTitular(): string
{
return $this->titular->recuperaNome();
}
public function recuperaCpfTitular(): string
{
return $this->titular->recuperaCpf();
}
}
Erro: Undefined type Cannot use 'parent' in a class with no parent.