Héritage des paramètres nommés
<?php
interface I { function foo(int $i); }
class X implements I { function foo(int $x) { echo $x; } }
(new X)->foo(x: 1);
(new X)->foo(i: 1);
?>
PHP impose la compatibilité des méthodes avec leurs types, noms et diverses options, mais pas avec les noms des paramètres. Cela signifie que l’existence du nom du paramètre est vérifiée, mais que le nom peut changer. Il peut changer entre le parent et l’enfant, mais aussi entre la classe et l’interface.
Il est recommandé de conserver des noms de paramètres identiques pour assurer la cohérence du code et simplifier l’utilisation de la méthode avec les paramètres nommés.
See Also
PHP Error Messages
PHP Features
Last updated: 04 October 2026