<?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}". PHP_EOL;
}
public function __get($nomeAtributo)
{
$metodo = 'recupera'. ucfirst($nomeAtributo);
return $this->$metodo();
}
public function __set($name, $value): void
{
$metodo = 'set' . ucfirst($name);
$this->$metodo($value);
}
public function setCidade(string $cidade): void
{
$this->cidade = $cidade;
}
public function setBairro(string $bairro): void
{
$this->bairro = $bairro;
}
public function setRua(string $rua): void
{
$this->rua = $rua;
}
public function setNumero(string $numero): void
{
$this->numero = $numero;
}
}
<?php
use Alura\Banco\Modelo\Endereco;
require_once'autoload.php';
$Endereco1 = new Endereco('NOVA PONTE ', 'MEDALHA','MANUEL','148');
echo $Endereco1;
echo''.PHP_EOL;
echo $Endereco1->rua. PHP_EOL;
echo $Endereco1->bairro. PHP_EOL;
echo $Endereco1->cidade. PHP_EOL;
echo $Endereco1->numero. PHP_EOL;
echo''.PHP_EOL;
$Endereco1->cidade = 'RIO DE JANEITO';
echo "CIDADE RECEBEU : ".$Endereco1->cidade . PHP_EOL;
echo''.PHP_EOL;
echo $Endereco1;