Funcionou da forma mais simples, mas acho bem inseguro, pois a classe expoe atributos privados sem controle nenhum.
Da pra implementar mais segurança, mas ai é outro código
<?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 __set($name, $value)
{
$this->$name = $value;
}
}