Moins d’arguments dans la méthode enfant
<?php
class x {
function foo(int $a, string $c, string ...$b) {}
}
// OK
class y extends x {
function foo(int $a, string ...$b) {}
}
Il est possible d’avoir moins d’arguments dans la méthode enfant que dans celle du parent. C’est grâce au variadic.
En général, le nombre d’arguments doit augmenter, et, au mieux, les arguments supplémentaires doivent être rendus optionnels.
Cela ne s’applique pas quand il y a un argument variadic, et que les arguments précédents sont du même type. Dans ce cas, la méthode enfant peut avoir moins d’arguments nommés que dans la classe parente. Techniquement, on passe d’un argument chaîne « un ou plusieurs » à « zéro ou plusieurs ».
Tout est une question de compatibilité entre la classe parente et la classe enfant.
Notez qu’il n’est pas possible d’appliquer ceci si l’argument précédent n’est pas du même type que le variadic. Il n’est pas non plus possible d’ajouter un nouvel argument, même s’il semble extrait du variadic. Les deux ne sont pas compatibles avec la classe parente.
See Also
- Less arguments in chile method [Try me]
PHP Error Messages
PHP Features
Last updated: 11 October 2026