O console exibiu "C:\Users\Artur\Downloads\php-8.1.5-nts-Win32-vs16-x64\php.exe C:\Users\Artur\Desktop\projetosphp\teste-saque.php src\Modelo\Conta\Conta.php Process finished with exit code 0" O que houve ?
<?php
use Alura\Banco\Modelo\Cpf;
use Alura\Banco\Modelo\Conta\Conta;
use Alura\Banco\Modelo\Conta\Titular;
use Alura\Banco\Modelo\Endereco;
require_once 'autoload.php';
$conta = new Conta(new Titular(new Cpf('084.485.424-38'), 'Artur',
new Endereco('bayeux', 'centro', 'avenida brasil', '21-a')));
$conta->depositar(500);
$conta->sacar(100);
echo $conta->getSaldo();
<?php
namespace Alura\Banco\Modelo\Conta;
class Conta
{
private Titular $titular;
private float $saldo;
private static $numeroDeContas = 0; // atributo geral da classe
public function __construct(Titular $titular)
{
$this->$titular = $titular;
$this->saldo = 0;
self::$numeroDeContas++; //
}
public function sacar(float $valorASacar): void
{
$tarifaSaque = $valorASacar * 0.05;
$valorSaque = $valorASacar + $tarifaSaque;
if($valorSaque > $this->saldo) {
echo "Saldo indisponível";
return;
}
$this->saldo -= $valorSaque;
}
public function depositar(float $valorADepositar): void
{
if ($valorADepositar < 0) {
echo "O valor precisa ser positivo";
return;
}
$this->saldo += $valorADepositar;
}
public function tranferir(float $valorATransferir, Conta $contaDestino): void
{
if ($valorATransferir > $this->saldo) {
echo "Saldo indisponível";
return;
}
$this->sacar($valorATransferir);
$contaDestino->depositar($valorATransferir);
}
public function getSaldo(): float
{
return $this->saldo;
}
public static function numeroDeContas(): int
{
return self::$numeroDeContas;
}
public function __destruct()
{
self::$numeroDeContas--;
}
public function getNomeTitular(): string
{
return $this->titular->getNome();
}
public function getCpfTitular(): string
{
return $this->titular->getCpf();
}
}
<?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;
}
});