Les Interfaces en PHP5
Une interface est une collection de signatures (visibilité, nom et parametres d’une classe) ne contenant aucun contenu. L’interet d’une interface est de savoir si un objet supporte certaines fonctionnalitées. Lorsque un objet utilise une interface, on dit que ce dernier implémente cette derniere. Si A utilise l’interface I, on dit que A implémente I
Contrairement à l’héritage, on peut implémenter plusieurs interface sur une même classe séparées par des virgules. Lorsqu’un objet implémente une interface, il est dans l’obligation de mettre l’ensemble des méthodes des signatures de l’interface.
Syntaxe
Création d’interface
Une interface commencra par l’operateur interface, suivi du nom. Il existe une norme qui souhaite que devant chaques interfaces, on place un I
interface ImonInterface
{
private function maMethode1([...]):
protected function maMethode2([...]):
public function maMethode3([...]):
}
Implémentation d’interface
Pour implémenter une interface, on utilisera le mot clé implements
class nomClass implements I1[,I2,...]
{
}
Particularités de l’interface
Une interface peut être dérivée. Elle peut être aussi fille de. Une interface peut être mère et fille
Standard PHP Library (S.P.L)
SPL est une librairie standard de PHP regrouppant l’ensemble des interfaces les plus courrament utilisées. Elles sont à connaitre pour la certification.
- Countable : interface permettant de compter les objets.
- ArrayAccess : interface permettant de parcourir les objets.
- …