Estou fazendo o curso de poo PHP , e fiz uns exercícios para fixar a aprendizagem, porém subi em uma pasta online para testar, e algumas coisas não funcionam. Como passar pelo construtor o tipo Protected e tb public readonly.
Estou fazendo o curso de poo PHP , e fiz uns exercícios para fixar a aprendizagem, porém subi em uma pasta online para testar, e algumas coisas não funcionam. Como passar pelo construtor o tipo Protected e tb public readonly.
readonly
e definir tipos no construtor no PHP 8?A partir do PHP 8.1, foi introduzida a palavra-chave readonly
, permitindo que atributos de uma classe sejam imutáveis após a inicialização. Isso significa que o valor de um atributo só pode ser definido uma vez, geralmente no construtor, e não pode ser modificado posteriormente.
Essa funcionalidade é útil quando se deseja garantir que certos valores permaneçam constantes durante todo o ciclo de vida de um objeto.
Além do readonly
, o PHP 8 também trouxe melhorias na tipagem e na forma como os atributos podem ser definidos diretamente no construtor. É possível usar diferentes níveis de visibilidade, como:
public
: Atributo acessível de qualquer lugar.protected
: Atributo acessível apenas dentro da classe e em suas classes filhas.private
: Atributo acessível apenas dentro da própria classe.A combinação de readonly
com essas visibilidades proporciona maior segurança e clareza no código, impedindo a modificação acidental de propriedades e reforçando o encapsulamento.
readonly
só pode ser usado a partir do PHP 8.1.readonly
ajuda a evitar erros e tornar o código mais previsível.Essa abordagem melhora a legibilidade, a segurança e a manutenção do código ao seguir os princípios de programação orientada a objetos.