DesenvolvedorWordPress WhatsApp

Propriedade readonly evita objeto mutando por engano

Objeto que deveria ser imutável, mas que alguém alterou lá na frente, é fonte de bug difícil de rastrear.

Falar comigo no WhatsApp

Dica de PHP · publicada em

Quando você monta um objeto para transportar dado — um DTO com os campos de um pedido, uma configuração de integração — a intenção é que ele não mude depois de criado. Sem readonly, nada impede.

Marcando as propriedades como readonly, qualquer tentativa de escrita depois da inicialização lança erro. O bug aparece na hora do desenvolvimento em vez de virar comportamento estranho meses depois.

Combinado com a promoção de propriedade no construtor, o resultado é bem enxuto: a classe inteira cabe em quatro linhas e é imutável por construção.

final class ConfigIntegracao {
    public function __construct(
        public readonly string $endpoint,
        public readonly string $token,
        public readonly int    $timeout = 15,
    ) {}
}

$c = new ConfigIntegracao('https://api.exemplo.com', 'abc');
// $c->token = 'outro';  // Error: Cannot modify readonly property

Na prática: DTO e config: readonly + promoção no construtor. Quatro linhas e imutável.

Precisa resolver isso no site de um cliente agora?

Me chame no WhatsApp com o contexto. Diagnóstico inicial sem compromisso.

WhatsApp: (43) 99932-9697

ou e-mail: [email protected]

Tem alguma dúvida? Ficarei feliz em ajudar. Clique Aqui