Compatibilité des propriétés promues
<?php
interface i {
// no promoted property
function __construct(int $a);
}
class x implements i {
// promoted property
function __construct(private int $a) {}
}
class y extends x {
// valid extension of a promoted property
function __construct(int $a) {}
}
?>
Les propriétés promues sont définies dans la signature d’un constructeur. Elles ne peuvent pas être définies dans une méthode abstraite, donc elles ne sont pas autorisées dans un constructeur abstrait : cela est vrai dans une classe abstraite et dans une interface.
En revanche, il est permis d’étendre des propriétés promues sans la promotion, et vice versa.
See Also
PHP Features
Last updated: 11 October 2026