1
resposta

problema no teste

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;
    }
});
1 resposta

ja resolvi

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software