1
resposta

Minha implementação do desafio __set

<?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;
    }

}
1 resposta

Boa Diogo, para esse momento do curso não faria nenhuma sugestão.