Olá Vinicios, seguinte tenho feito os arquivos iguais os seus da aula, porém estou tendo problemas, vários sublinhados, uso o vstudio, depois que coloquei o namespace, todas as referências a outras classes ficaram sublinhadas como erro, segundo o php info do xampp, diz que o php é a versão 8 alguma coisa.
o erro é este
PHP Fatal error: Uncaught Error: Class "Alura\Banco\Modelo\Endereco" not found in C:\xampp\htdocs\Alura\Banco\banco.php:10
Stack trace:
#0 {main}
thrown in C:\xampp\htdocs\Alura\Banco\banco.php on line 10
Fatal error: Uncaught Error: Class "Alura\Banco\Modelo\Endereco" not found in C:\xampp\htdocs\Alura\Banco\banco.php:10Stack trace:
#0 {main}
thrown in C:\xampp\htdocs\Alura\Banco\banco.php on line 10
o codigo do arquivo banco é este aqui:
<?php
require_once 'autoload.php';
use Alura\Banco\Modelo\Endereco;
use Alura\Banco\Modelo\Conta\Titular;
use Alura\Banco\Modelo\Cpf;
use Alura\Banco\Modelo\Conta\Conta;
$endereco1 = new Endereco('Dourados','Pq Alvorada','Albert ainsten','2345');
$endereco2 = new Endereco('Ponta','Pq Alvorada','Marcos Alfred','2345');
$endereco3 = new Endereco('Campo Grande','Pq Alvorada','Filé mignon','2345');
$vinicios = new Titular(new Cpf('123.456.789-10'), 'Vinicius Dias',$endereco);
$primeiraConta = new Conta($vinicios);
$primeiraConta->deposita(500);
$primeiraConta->saca(300); // isso é ok
echo $primeiraConta->recuperaNomeTitular() . PHP_EOL;
echo $primeiraConta->recuperaCpfTitular() . PHP_EOL;
echo $primeiraConta->recuperaSaldo() . PHP_EOL;
$patricia = new Titular(new Cpf('698.549.548-10'), 'Patricia',$endereco2);
$segundaConta = new Conta($patricia);
var_dump($segundaConta);
$outra = new Conta(new Titular(new Cpf('123.625.794-56'), 'Abcdefg',$endereco3));
unset($segundaConta);
echo Conta::recuperaNumeroDeContas();
codigo do autoload é:
<?php
spl_autoload_register(function (string $nomeCompletoDaClasse)
{
$caminhoArquivo = str_replace('Alura\\Banco', 'src',$nomeCompletoDaClasse);
$caminhoArquivo = str_replace('\\', DIRECTORY_SEPARATOR, $caminhoArquivo);
$caminhoArquivo .= '.php';
//echo $caminhoArquivo;
//exit();
if (file_exists($caminhoArquivo)) {
require_once $caminhoArquivo;
}
});
o caminho do htdocs é:
c:\xamp\htdocs\Alura\Banco\Modelo e c:\xamp\htdocs\Alura\Banco\Modelo\Conta
e o curso é: https://cursos.alura.com.br/course/php-oo-heranca-polimorfirmo-interfaces/task/66021