Apport primordial de la version 5 de PHP en ce qui concerne la programmation Objet, les interfaces définissent une structure fixe pour les classes qui les implémentent.
(01/06/2005)
Comme
pour tout bon langage Objet, PHP5 propose aux développeurs
de se servir des interfaces de programmation, ces classes
particulières qui autorisent d'autres classes à hériter d'un certain
comportement, et qui définissent des méthodes à implémenter
(et par là même dissimulent une implémentation).
La mise en place d'une interface en PHP est très simple :
le mot-clef "interface" remplace
"classe".
interface NomDeLinterface {
public function NomDeLaFonction($var);
public function NomDeLautreFonction($var, $arg);
}
La classe doit ensuite indiquer qu'elle implémente cette interface
(elle peut en implémenter plusieurs), avec le mot-clef implements.
Cette classe doit implémenter toutes les méthodes de l'interface
pour être correcte :
classe NomDeLaClasse implements NomDeLinterface
{
public function NomDeLaFonction($var) {
$this->var = $var;
}
public function NomDeLautreFonction($var, $arg)
{
return (int) ($var + $arg);
}
}
Rien n'empêche l'objet d'avoir ses propres méthodes, qui ne
seraient pas en provenance de l'interface.