1
resposta

[Dúvida] getPropriedade ou __get?

No caso se eu implementar o método mágico __get poderia ser ocultado o método getPropriedade? Tendo em vista que eles parecem que fazem a mesma coisa.

1 resposta

Olá, Iago!

Sim, é possível ocultar o método getPropriedade se você implementar o método mágico __get. Ambos têm a mesma finalidade, que é acessar propriedades de um objeto, mas a maneira como eles funcionam é um pouco diferente.

O método getPropriedade é um método comum que você cria para retornar o valor de uma propriedade específica. Por exemplo, se você tem uma propriedade chamada $nome, você pode criar um método getNome para retornar o valor dessa propriedade.

Por outro lado, o método mágico __get é um método especial do PHP que é automaticamente chamado quando você tenta acessar uma propriedade que não existe ou é privada. Ele recebe como parâmetro o nome da propriedade que você está tentando acessar. Isso permite que você crie uma lógica para manipular várias propriedades com um único método.

Por exemplo, no seu código, você está usando o __get para acessar as propriedades rua, bairro, cidade e numero de um objeto Endereco. Quando você tenta acessar uma dessas propriedades, o método __get é chamado e ele retorna o valor da propriedade correspondente.

Portanto, se você implementar o método __get, você pode ocultar o método getPropriedade, pois o __get será capaz de lidar com todas as propriedades do seu objeto.

Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software