Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Minha solução de __set

<?php

use Alura\Banco\Modelo\Endereco;

require_once "autoload.php";

$umEndereco = new Endereco('São Paulo','Pedreira','Pontes de Morais','500');
$outroEndereco = new Endereco('Jundiaí','Jardim das Ostras','Manoel da Nobrega','21');

echo $umEndereco . "<br>";
echo $outroEndereco . "<br>";
echo $umEndereco->cidade ."<br>";
echo $umEndereco->bairro."<br>";

echo "<br>";

$umEndereco->bairro = 'Novo Bairro';
echo $umEndereco;

<?php

namespace Alura\Banco\Modelo;

/**
 * Classs Enredeco
 * @package Alura\Banco\Modelo
 * @property-read string $cidade
 * @property-read string $bairro
 * @property-read string $rua
 * @property-read string $numero
 */

class Endereco
{
    private $cidade;
    private $bairro;
    private $rua;
    private $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()
    {
        return "{$this->rua}, {$this->numero}, {$this->bairro}, {$this->cidade}";
    }

    public function __get(string $nomeAtributo)
    {   
       $metodo = 'recupera' . ucfirst($nomeAtributo);
        return $this->$metodo();
    }

    public function __set( string $nomeAtributo, string $value)
    {
         $this->$nomeAtributo = $value;
    }

}

Funcionou kkkk achei facil demais pra ser verdade.. deve ter algo errado

1 resposta
solução!

Oi, Paulo, como vai?

É isso mesmo! Ótima solução.

Parabéns pelo empenho nos estudos!

Continue praticando.

E caso tenha quaisquer comentários ou dúvidas a respeito de alguma aula ou desafio, pode postar aqui no fórum que vamos te responder!

Abraços e bons estudos!