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

Interface implémentée trop bas

<?php

interface i {
    function foo($a); 
}

class x {
    function foo() {}
}

class y extends x implements i {
    function foo($a = 1) { echo __METHOD__; }
}

La signature d’une interface s’applique uniquement à la classe courante et à ses enfants. Cela signifie que le parent n’a pas à utiliser la même signature.

Toutefois, le parent et l’enfant doivent utiliser une signature compatible, indépendamment de l’interface. Et, au final, la signature de l’enfant doit être compatible à la fois avec le parent et avec l’interface. Notez à quel point les méthodes du parent et de l’interface sont différentes, tout en restant compatibles.

Bien qu’il puisse être pratique d’utiliser l’interface sur un seul enfant et non sur ses frères, il serait sans doute moins surprenant d’utiliser l’interface directement sur le parent. À moins qu’il ne possède pas une telle méthode.

See Also

PHP Features

Last updated: 11 October 2026