Olá, espero que estejam bem! Ao tentar executar a classe de teste no terminal, estou recebendo a seguinte mensagem: Could not open input file: testeTarifa.php
Ao tentar executar a classe de teste no PHP Storm, estou recebendo a seguinte mensagem: Xdebug: [Step Debug] Time-out connecting to debugging client, waited: 200 ms. Tried: localhost:9003 (through xdebug.client_host/xdebug.client_port). PHP Fatal error: Uncaught Error: Class "Alura\Banco\Modelo\Conta\Conta" not found in C:\Users\devsf\Downloads\php-oo-parte-2-aula-2-completa\src\testeTarifa.php:8 Stack trace: #0 {main} thrown in C:\Users\devsf\Downloads\php-oo-parte-2-aula-2-completa\src\testeTarifa.php on line 8
Quando eu adiciono o requireonce "autoload.php"; no arquivo, tenho a seguinte mensagem: C:\php\php.exe C:\Users\devsf\Downloads\php-oo-parte-2-aula-2-completa\src\testeTarifa.php Xdebug: [Step Debug] Time-out connecting to debugging client, waited: 200 ms. Tried: localhost:9003 (through xdebug.client_host/xdebug.client_port). PHP Warning: require_once(autoload.php): Failed to open stream: No such file or directory in C:\Users\devsf\Downloads\php-oo-parte-2-aula-2-completa\src\testeTarifa.php on line 6 PHP Fatal error: Uncaught Error: Failed opening required 'autoload.php' (include_path='.;C:\php\pear') in C:\Users\devsf\Downloads\php-oo-parte-2-aula-2-completa\src\testeTarifa.php:6 Stack trace: #0 {main} thrown in C:\Users\devsf\Downloads\php-oo-parte-2-aula-2-completa\src\testeTarifa.php on line 6
A estrutura consiste em: (https://cdn1.gnarususercontent.com.br/1/941122/d8f72ecf-ba1f-4d63-af50-f24aec78caa0.png)
O codigo consiste em:
`<?php
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("123.456.789-10"), 'MAYARA', new Endereco( 'Mairiporã', 'Portão', 'Lago dos Patos', '1.400') ) );
$conta->deposita(1000); $conta->saca(100);
echo $conta->recuperaSaldo(); `
O classe Conta consiste em;
<?php
namespace Alura\Banco\Modelo\Conta;
class Conta
{
private $titular;
private $saldo;
private static $numeroDeContas = 0;
public function __construct(Titular $titular)
{
$this->titular = $titular;
$this->saldo = 0;
self::$numeroDeContas++;
}
public function __destruct()
{
self::$numeroDeContas--;
}
public function saca(float $valorASacar): void
{
$tarifa= $valorASacar * 1.5;
if ($valorASacar > $this->saldo + $tarifa) {
echo "Saldo indisponível";
return;
}
$this->saldo -= $valorASacar;
}
public function deposita(float $valorADepositar): void
{
if ($valorADepositar < 0) {
echo "Valor precisa ser positivo";
return;
}
$this->saldo += $valorADepositar;
}
public function transfere(float $valorATransferir, Conta $contaDestino): void
{
if ($valorATransferir > $this->saldo) {
echo "Saldo indisponível";
return;
}
$this->saca($valorATransferir);
$contaDestino->deposita($valorATransferir);
}
public function recuperaSaldo(): float
{
return $this->saldo;
}
public function recuperaNomeTitular(): string
{
return $this->titular->recuperaNome();
}
public function recuperaCpfTitular(): string
{
return $this->titular->recuperaCpf();
}
public static function recuperaNumeroDeContas(): int
{
return self::$numeroDeContas;
}
}