Boa tarde pessoal!
Gostaria de uma ajuda, meu código está dando o seguinte erro: Fatal error: Uncaught Error: Class 'Cursos_alura\POO\Modelo\Conta\Titular' not found in C:\wamp64\www\cursos_alura\php\avancando_oo\index.php on line 11 Error: Class 'Cursos_alura\POO\Modelo\Conta\Titular' not found in C:\wamp64\www\cursos_alura\php\avancando_oo\index.php on line 11
Arquivo index.php
require_once 'autoload.php';
use Cursos_alura\POO\Modelo\Conta;
use Cursos_alura\POO\Modelo\Conta\Titular;
use Cursos_alura\POO\Modelo\CPF;
$guilherme = new Titular(new CPF('439.904.648-17'), 'Guilherme Brandão');
$primeria_conta = new Conta($guilherme);
$satialis = new Titular(new CPF('109.876.543-21'), 'Satialis Anjo');
$segunda_conta = new Conta($satialis);
echo '<br>'. Conta::numero_contas() . ' Contas registradas';
var_dump($primeria_conta, $segunda_conta);
Arquivo autoload
spl_autoload_register(function(string $nome_completo_classe){
$caminho_arquivo = str_replace('Cursos_alura\\POO', 'src', $nome_completo_classe);
$caminho_arquivo = str_replace('\\', DIRECTORY_SEPARATOR, $caminho_arquivo);
$caminho_arquivo .= '.php';
if (file_exists($caminho_arquivo)) {
require_once $caminho_arquivo;
}
});
Arquivo Titular
namespace Cursos_alura\POO\Model\Conta;
use Curso_alura\POO\Modelo\CPF;
class Titular extends CPF
{
private $cpf;
private $nome;
/************ Métodos públicos ************/
public function __construct(CPF $cpf, string $nome)
{
$this->cpf = $cpf;
$this->validaNome($nome);
$this->nome = $nome;
}
public function recuperaCpf(): string
{
return $this->cpf->recuperaNumero();
}
/************ Métodos privados ************/
private function validaNome($nome_titular)
{
if (strlen($nome_titular) < 5) {
echo 'Nome inválido. O nome precisa conter no mínimo 5 caracteres';
exit();
}
}
}
Arquivo Conta
namespace Cursos_alura\POO\Model\Conta;
class Conta
{
/************ Atributos ************/
private $nome_titular;
private $saldo;
private static $numero_contas = 0;
/************ Métodos públicos ************/
//Contruct
public function __construct(Titular $nome_titular)
{
$this->nome_titular = $nome_titular;
$this->saldo = 0;
self::$numero_contas ++;
}
//Desctruct (Remove da memoria quando a instância deixa de existir na memória)
public function __destruct()
{
self::$numero_contas --;
}
public function sacar(float $valor_sacar)
{
if ($valor_sacar > $this->saldo) {
echo 'Saque não autorizado! <br>';
echo 'Valor do saque é maior que o saldo disponível!';
return;
}
$this->saldo -= $valor_sacar;
// echo '<br><b>'.$this->nome_titular.'</b><br>' .'Seu saldo autal é de R$' . $this->saldo;
}
public function depositar(float $valor_depositar):void
{
if ($valor_depositar < 0) {
echo 'Depósito não autorizado! <br>';
echo 'Valor do depósito é menor que 0. Deposite um valor válido!';
return;
}
$this->saldo += $valor_depositar;
// echo '<br><b>'.$this->nome_titular.'</b><br>' .'Seu saldo autal é de R$' . $this->saldo;
}
public function transferir(float $valor_transferir, $conta_tranferir):void
{
if ($valor_transferir > $this->saldo) {
echo 'Transferência não autorizada! <br>';
echo 'Valor da transferência é maior que o saldo disponível!';
return;
}
$this->sacar($valor_transferir);
$conta_tranferir->depositar($valor_transferir);
}
/************ Métodos estáticos ************/
public static function numero_contas(): int
{
return self::$numero_contas ++ ;
}
}
Gostaria de um help Obrigado!!