1
resposta

Sobre segurança em PHP

Eu estou no curso PHP: conheça programação orientada a objetos Estou no modulo 3 e no video da atividade quatro: propriedades para leitura.

Ele diz no vídeo que por estar usando readOnly nós não precisamos deixar privada as nossas propriedades do método construtor. Mas gostaria de salientar que é ainda mais seguro, porque embora ninguém possa modificar ainda fica acessível DIRETAMENTE; Isso pode expor detalhes internos da classe, o que vai contra o princípio de encapsulamento e Ao manter a variável private, você controla melhor como e quando o dado é acessado

Manter a variável private oferece flexibilidade. Se, no futuro, você quiser mudar a implementação (talvez adicionar lógica no getter, como cache ou conversão de valor), o código externo não será afetado.

1 resposta

Olá, Marcos! Tudo bem?

Você levantou um ponto importante sobre o uso de propriedades readonly em PHP e o princípio do encapsulamento. De fato, ao tornar propriedades públicas e somente para leitura, estamos permitindo que o código externo acesse diretamente os valores, o que pode expor detalhes internos da classe. Isso pode ser visto como uma quebra do encapsulamento, que é um dos pilares da programação orientada a objetos.

Manter as propriedades privadas oferece mais controle sobre como e quando os dados são acessados. Por exemplo, se você decidir adicionar lógica adicional no futuro, como validação ou transformação de dados, ter métodos getters permite que você faça isso sem afetar o código que usa sua classe.

Agradeço por levantar esse ponto aqui no fórum e caso surjam quaisquer dúvidas eu estarei à sua disposição.

Bons estudos!