Initialiser readonly dans un enfant
<?php
class x {
public readonly int $property;
}
class y extends x {
function __construct() {
$this->property = 5;
}
}
$x = new x;
echo $x->property;
Les propriétés readonly ne pouvaient être initialisées que dans la même classe que leur définition. Cela s’applique quelle que soit la visibilité de la propriété : private, protected, private.
Depuis PHP 8.4, il est désormais possible d’initialiser les propriétés readonly depuis une classe enfant, si la visibilité le permet. Et la propriété n’est assignée qu’une seule fois.
See Also
- Initialize Readonly On Child [Try me]
PHP Error Messages
PHP Features
Last updated: 11 October 2026