1
resposta

Fiz assim, porém não estou conseguindo executar no vsCode. Sempre que vou executar algo dá um erro. Está correto?

<?php

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

namespace Alura\Banco\Modelo;

use Alura\Banco\Modelo\Funcionario\Funcionario;

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 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($nomeAtributo)
    {
        $metodo = 'recupera' . ucfirst($nomeAtributo);
        return $this->$metodo;
    }
    public function __set($nomeAtributo, $valor)
    {
        $this->$nomeAtributo = $valor;    
    }
}

1 resposta

Paloma, só batendo o olho não vejo nada errado, mas que erro aparece?