<?php
/**
* @property-read string $rua
* @property-read string $bairro
* @property-read string $numero
* @property-read string $cidade
*
*/
namespace Diogo\Banco\Modelo;
class Endereco
{
private string $cidade;
private string $bairro;
private string $rua;
private string $numero;
public function __construct($cidade, $bairro, $rua, $numero)
{
$this->cidade = $cidade;
$this->bairro = $bairro;
$this->rua = $rua;
$this->numero = $numero;
}
public function __toString(): string
{
return "{$this->rua}, {$this->numero}, {$this->bairro}, {$this->cidade}";
}
public function __get($nomeAtributo)
{
$metodo = ucfirst($nomeAtributo);
$metodo = "recupera" . $metodo;
return $metodo;
}
public function __set($nomeAtributo, $valor):void
{
$this->$nomeAtributo = $valor;
echo 'Alteração concluída com sucesso!';
}
public function recuperaCidade()
{
return $this->cidade;
}
public function recuperaBairro()
{
return $this->bairro;
}
public function recuperaRua()
{
return $this->rua;
}
public function recuperaNumero()
{
return $this->numero;
}
}