Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Condições para um atributo

Olá professor,

Interessante os métodos mágicos __get() e __set(). Mas fiquei com uma dúvida:

Caso eu precise criar uma condição específica (um if() ) para um dos atributos da classe? Como eu poderia fazer?

Ou nesse caso não poderia utilizar os __get() e __set() e teria que fazer um get() e set() para cada atributo?

Obrigado!

2 respostas
solução!

Oi Ivan, tudo bom?

Boa pergunta! Na verdade, utilizar os métodos mágicos __get e __set pode parecer legal no começo mas eles geram exatamente essa necessidade que você comentou:

Caso eu precise criar uma condição específica (um if() ) para um dos atributos da classe?...

Esse tipo de if costuma prejudicar a manutenibilidade do nosso código já que, todo atributo novo que surgisse seria necessário adicionar nesse if.

E, caso alguém esquecesse de adicionar os métodos mágicos teriam um comportamento inesperado (bug)

Ou seja, no final das contas, a melhor abordagem mesmo é utilizar um método get e um método set pra cada atributo da sua classe mesmo =)

Abraço

Perfeito, Obrigado!