Proposta de implementação
<?php
use Alura\Banco\Modelo\Endereco;
require_once 'autoload.php';
$umEndereco = new Endereco('uma cidade', 'bairro', 'rua', 'numero');
$outroEndereco = new Endereco('outra cidade', 'outro bairro', 'outra rua', 'outro numero');
$umEndereco->cidade = "Nova Cidade";
echo $umEndereco;
Classe Endereço
<?php
namespace Alura\Banco\Modelo;
/**
* class Endereco
*
* @property string $cidade
* @property string $bairro
* @property string $rua
* @property string $numero
*/
class Endereco
{
/**
* Summary of __construct
* @param string $cidade
* @param string $bairro
* @param string $rua
* @param string $numero
*/
public function __construct(private string $cidade, private string $bairro, private string $rua, private string $numero)
{
}
public function __set(string $nome, $value)
{
$this->$nome = $value;
}
}