Interface en PHP | Interfaces POO PHP
Publié: 2021-03-03Table des matières
introduction
PHP est un langage orienté objet et une interface est l'une des principales caractéristiques d'un langage de programmation orienté objet. L'interface permet aux codeurs de déclarer les fonctions contenant les différentes définitions dans la classe implémentant cette interface. Lisez la suite pour comprendre l' interface en PHP . Consultez également les exemples d'interface en PHP partagés dans l'article pour mieux comprendre.
Interface en PHP
Une interface est une fonctionnalité de la programmation orientée objet qui permet de créer des fonctions sans implémentation. L'implémentation doit être incluse dans la classe. Cela permet d'éviter la complexité de la définition de la méthode, car chaque classe héritant de l'interface peut avoir une implémentation différente selon les besoins. L'utilisation de l' interface en PHP est similaire à celle de la classe, à la seule différence que l'implémentation n'est pas présente dans les fonctions de l'interface et que l'interface n'a pas de variables.
Fonctionnalités d'une interface en PHP
- L'interface ne contient pas le code.
- L'interface a la déclaration de la méthode avec ou sans arguments mais pas la définition.
- Une classe qui implémente l'interface doit contenir la définition de toutes les méthodes déclarées dans l'interface.
- Une classe peut avoir l'implémentation de plusieurs interfaces.
- Une interface ne peut pas avoir de méthodes non abstraites.
Syntaxe d'une interface
L'interface doit être déclarée avant utilisation. La syntaxe d'une interface est similaire à celle d'une classe, à la seule différence que le mot-clé interface est utilisé à la place du mot-clé class lors de la déclaration de l'interface. Ci-dessous la syntaxe pour déclarer une interface en PHP :
<?php
//Déclaration de l' interface en PHP
Interface <Nom de l'interface>
{
//Code
}
?>
Les méthodes déclarées à l'intérieur de l'interface sont accessibles en héritant de l'interface par classe. La classe hérite de l' interface en PHP en utilisant le mot clé implements lors de la déclaration de la classe.
Ci-dessous la syntaxe pour implémenter une interface en PHP :
<?php
//Déclaration de classe
La classe <Class Name> implémente <Interface Name>
{
//Code
}
?>
Exemples d'interfaces en PHP
Pour comprendre l'utilisation de l'interface, regardons l'exemple ci-dessous :
<?php
//Interface de déclaration
Exemple d'interface_Forme
{
Fonction publique ShapeArea();
}
//Classe héritant de l'interface
La classe Shape1 implémente Example_Shape
{
Fonction publique ShapeArea()
{
Echo 'Aire du cercle';
}
}
//Classe héritant de l'interface
La classe Shape2 implémente Example_Shape
{
Fonction publique ShapeArea()
{
Echo 'Aire du carré';
}
}
// Classe sans utiliser l'interface
Forme de classe3
{
Fonction publique AreaCal()
{
Écho 'Pas d'interface' ;
}
}
$Obj1 = nouveau Shape1 ; // Objet pour la classe1
$Obj2 = nouveau Shape2 ; // Objet pour la classe2
$obj3 = nouveau Shape3 ; // Objet pour la classe 3, n'utilisant pas l'interface
Echo $obj1->ShapeArea();
Écho '<br>' ;
Echo $obj2->ShapeArea();
Écho '<br>' ;
Echo $obj3->AreaCal();
?>
Sortir
Aire du cercle
Superficie du carré
Aucune interface
Explication de la sortie
La classe Shape1 a la définition d'une fonction déclarée à l'intérieur de l'interface. Shape1 implémente l'interface, par conséquent, il a accès à la fonction à l'intérieur et imprime 'Aire du cercle'. L'explication de la classe Shape2 et de la sortie "Aire du carré" est similaire. La classe Shape3 n'implémente pas l'interface et fonctionne comme une classe habituelle en PHP.
Implémentation d'interfaces multiples
Une classe peut également implémenter plusieurs interfaces. Dans de tels cas, la classe doit avoir la définition de toutes les méthodes déclarées dans toutes les interfaces que la classe implémente. Vous trouverez ci-dessous l'illustration de l'implémentation de plusieurs interfaces en PHP .
<?php
// Déclaration d'interface
Exemple d'interface1
{
Méthode de fonction publique1();
}
// Déclaration d'une autre interface
Exemple d'interface2
{
Méthode de fonction publique2();
}
//Classe implémentant les deux interfaces déclarées ci-dessus
classe classe1 implémente exemple1, exemple2
{
// Définition de la méthode de l'interface1
Méthode de la fonction publique1
{
Echo 'Interface interne1 méthode1' ;
}
//Définition de la méthode d'interface2
Méthode de la fonction publique2
{
Echo 'Inside interface2 method2;
}
}
Obj1 = nouvelle classe1 ;
Obj2 = nouvelle classe2 ;
Obj1->méthode1 ;
Obj2->méthode2 ;
?>
Sortir
À l'intérieur de l'interface1 méthode1
À l'intérieur de l'interface2 méthode2
Quelques points à noter sur la mise en œuvre d'interfaces multiples
- Toutes les méthodes déclarées dans l'interface doivent être publiques.
- La fonction ne peut pas avoir le mot clé abstract.
- Si le programmeur oublie de définir une fonction d'interface, le code génère une erreur.
- Les interfaces ne peuvent pas contenir de variables.
Paiement : Concepts de POO en PHP
Différence entre une interface et une classe abstraite
Voici quelques-unes des différences entre une interface et une classe abstraite :
- Une interface contient uniquement la déclaration, mais une classe abstraite contient à la fois la déclaration de la méthode et sa définition.
- Les méthodes de l'interface ne peuvent être que publiques, tandis que les méthodes de la classe abstraite peuvent être déclarées comme publiques, privées ou protégées.
- Une classe peut implémenter plusieurs interfaces, tandis qu'une classe ne peut étendre qu'une seule méthode abstraite.
Conclusion
Une interface en PHP est une fonctionnalité qui permet aux utilisateurs de déclarer des méthodes publiques sans définition. Cet article a expliqué toutes les informations sur l'interface avec sa syntaxe et des exemples. Nous espérons que les informations partagées dans cet article vous seront utiles pour comprendre le concept. Vous pouvez apprendre des sujets similaires basés sur PHP sur les blogs upGrad. Pour une compréhension approfondie, vous pouvez vous inscrire à un cours de certification en ligne sur PHP chez upGrad. upGrad propose de nombreux cours de certificat qui peuvent vous aider dans votre carrière et votre apprentissage.
Si vous souhaitez en savoir plus sur le développement de logiciels à pile complète, consultez le diplôme PG upGrad & IIIT-B en développement de logiciels à pile complète qui est conçu pour les professionnels en activité et offre plus de 500 heures de formation rigoureuse, plus de 9 projets et affectations, statut d'anciens élèves de l'IIIT-B, projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.