Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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

PHP Error Messages

PHP Features

Last updated: 11 October 2026