aniltonvieira 0 Denunciar post Postado Dezembro 5, 2017 Olá rapazes, me tirem uma dúvida, estou começando a usar os métodos mágicos, como faço para retornar valores através do __get, quando os mesmos são inicializados no __construct, ou isso realmente é impossível? <?php class Chamado { private static $id; private $dados = array(); public function __construct($usuario, $descricao) { $dados['id'] = self::$id++; $dados['usuario'] = $usuario; $dados['descricao'] = $descricao; } public function __set($index, $value) { if ($index == 'observacao') { $this->setObservacao($value); } else { $this->dados[$index] = $value; } } public function setObservacao($value) { if (is_string($value)) { $this->dados['observacao'] = $value; } else { echo "Não pode"; } } public function __get($index) { if (array_key_exists($index, $this->dados)) { return $this->dados[$index]; } } public function __isset($property) { return isset($this->dados[$property]); } } $c1 = new Chamado('Júnior', 'Arrumar Teclado'); $c1->observacao = 'Olhar teclado!'; if (isset($c1->usuario)) { echo $c1->usuario; } else { echo 'Valor não definido!'; } print_r($c1->usuario); Compartilhar este post Link para o post Compartilhar em outros sites