Olá, tudo bem?
Muito boa sua solução! Parabéns pelo seu empenho =)
Fica como dica: A forma como você implementou funciona e está bem legal, mas você não está usando o "poder" do método mágico __set
, pois você está chamando a função e passando dois parâmetros.
Uma outra forma de você implementar seria da seguinte maneira:
Endereco.php
public function __set(string $nomeDoAtributo, string $valor)
{
$this->nomeDoAtributo = $valor;
}
banco.php
<?php
require_once 'autoload.php';
use Alura\Banco\Modelo\Endereco;
$umEndereco = new Endereco('Curitiba', 'bacacheri', 'novepontocinco', '1267d');
// veja que você não precisa passar os dois parâmetros, você acessa o atributo "rua' diretamente
$umEndereco->rua = 'Rua das goiabas';
echo $umEndereco;
Caso tenha mais curiosidade, você pode ler mais sobre os métodos mágicos na documentação do PHP
Espero ter ajudado, bons estudos :)
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓