<?php
namespace Alura\Banco\Modelo;
class Endereco
{
private string $cidade;
private string $bairro;
private string $rua;
private string $numero;
public function __construct(string $cidade, string $bairro, string $rua, string $numero)
{
$this->cidade = $cidade;
$this->bairro = $bairro;
$this->rua = $rua;
$this->numero = $numero;
}
public function recuperaCidade():string
{
return $this->cidade;
}
public function recuperaBairro():string
{
return $this->bairro;
}public function recuperaRua():string
{
return $this->rua;
}public function recuperaNumero():string
{
return $this->numero;
}
public function __toString(): string
{
return "{$this->rua}, {$this->numero},{$this->bairro},{$this->cidade}";
}
public function __get(string $nomeAtributo)
{
$metodo = 'recupera' . ucfirst($nomeAtributo);
return $this->$metodo();
}
public function __set(string $nomeAtributo, string $value): void
{
$this->$nomeAtributo = $value;
}
}
<?php
use Alura\Banco\Modelo\Endereco;
require_once 'autoload.php';
$umEndereco = new Endereco(
' Petropolis',
' bairro Qualquer',
' Minha rua',
' 71B'
);
$outroEndereco = new Endereco(
' Rio',
' Centro',
' Uma rua aí',
' 50'
);
echo 'Antes de mudar'. PHP_EOL;
echo '_____________________________________________'. PHP_EOL;
echo "$umEndereco" . PHP_EOL;
echo '_____________________________________________'. PHP_EOL;
echo 'Depois de mudar'. PHP_EOL;
echo '_____________________________________________'. PHP_EOL;
$umEndereco->rua = " Tamandaré";
echo $umEndereco . PHP_EOL;
echo '_____________________________________________'. PHP_EOL;
![]( )