Readonly Properties
PHP 🟡 MidDefinition
Proprietes PHP 8.1 qui ne peuvent etre initialisees qu'une seule fois, puis deviennent immutables. PHP 8.2 etend cela aux classes entieres avec readonly class.
Analogie
Comme un tatouage : une fois fait, on ne peut plus le modifier.
Exemple de code
readonly class UserDTO {
public function __construct(
public string $name,
public string $email,
) {}
}
Cas d'usage
Pour les DTOs et Value Objects ou l'immutabilite garantit l'integrite des donnees.
Anti-pattern
Rendre readonly des proprietes qui doivent legitimement changer apres l'initialisation.