Após a organização das pastas e criação do do autoload não tenho conseguido mais rodar completamente o banco.php O código executa tudo, menos a linha de recuperação do cpf na linha 30, pois apresenta a seguinte mensagem Fatal error: Uncaught Error: Object of class Alura\Banco\Modelo\Cpf could not be converted to string in C:\xampp\htdocs\alura\banco.php:30
Aqui está o arquivo** banco.php**
<?php
require_once 'autoload.php';
use Alura\Banco\Modelo\Pessoa;
use Alura\Banco\Modelo\Endereco;
use Alura\Banco\Modelo\CPF;
use Alura\Banco\Modelo\Conta\Titular;
use Alura\Banco\Modelo\Conta\Conta;
$endereco = new Endereco('Ceilândia', 'QNQ','conjunto 5', '21');
$a=new Conta(new Titular(new Cpf('123.456.789-10'),'Doug sou eu',$endereco));
$a->depositar(45);
$a->sacar(50);
$b=new Conta(new Titular(new Cpf('123.456.789-11'),'Paty Mayo',$endereco));
echo PHP_EOL. "Saldo: " . $a->recuperarSaldo() ;
echo PHP_EOL. "Nome: " . $a->recuperaNomeTitular() ;
echo PHP_EOL. "CPF: " . $a->recuperaCpfTitular() ;
echo PHP_EOL."Numero de contas: " .Conta::recuperaNumeroDeContas();
echo "\n\n";
var_dump($a);
echo "\n\n";
?>
aqui está minha classe Conta, de onde em o método recuperaCpfTitular()
<?php
namespace Alura\Banco\Modelo\Conta;
use Alura\Banco\Modelo\Cpf;
class Conta
{
private $titular;
private float $saldo;
private static $numeroDeContas = 0;
public function __construct(Titular $titular)
{
echo "Criando uma nova conta. \n" ;
$this->titular = $titular;
$this->saldo = 0;
self::$numeroDeContas++;
}
//(...) código omitido
public function recuperaCpfTitular():Cpf
{
return $this->titular->recuperaCpf();
}
public function recuperaNomeTitular():string
{
return $this->titular->recuperaNome();
}
}
?>
Aqui está a classe Titular
<?php
namespace Alura\Banco\Modelo\Conta;
use Alura\Banco\Modelo\Pessoa;
use Alura\Banco\Modelo\Endereco;
use Alura\Banco\Modelo\CPF;
class Titular extends Pessoa
{
private $endereco;
public function __construct(Cpf $cpf, string $nome, Endereco $endereco)
{
parent::__construct($nome,$cpf);
$this->endereco=$endereco;
}
public function recuperaEndereco(): Endereco
{
return $this->endereco;
}
}
E aqui a classe CPF
<?php
namespace Alura\Banco\Modelo;
class Cpf{
private string $cpf;
public function __construct(string $cepeefe)
{
$this->cpf=$cepeefe;
}
public function recuperaCpf():string
{
return $this->cpf;
}
}
gostaria muito de saber onde estou errando