Les interfaces en PHP

Une interface permet aux utilisateurs de créer des programmes, en spécifiant les méthodes publiques qu’une classe doit implémenter, sans impliquer la complexité et les détails de l’implémentation des méthodes. Une interface est définie comme une classe, mais avec le mot-clé interface. L’interface ne contient pas de propriétés ou de variables comme le cas dans une classe.
 
 

Exemple: Création d’une interface

L’exemple suivant définit une interface à l’aide du mot-clé interface.

<?php  
	interface MyInterface { 
	   public function method1(); 
	   public function method2();
	   public function method3(); 
	}
?>

Quelques points importants à retenir sur les interfaces en PHP :

  • Une interface est constituée de méthodes qui n’ont pas d’implémentations, ce qui signifie que les méthodes d’interface sont des méthodes abstraites.
  • Toutes les méthodes dans les interfaces doivent avoir une portée de visibilité public.
  • Les interfaces sont différentes des classes car une classe peut hériter d’une seule classe alors que la classe peut implémenter une ou plusieurs interfaces.

Pour implémenter une interface, utilisez le mot-clé implements comme suit :

<?php  
	class MyClass implements MyInterface { 
	
	   public  function method1() {  
	  
		 // Implémentation de la méthode 1
	   }  
	   public  function method2(){  
	  
		 // Implémentation de la méthode 2
	   }  
	   public  function method3(){  
	  
		 // Implémentation de la méthode 3
	   } 
	   
	} 
?>

 
 

Exemple complète:
<?php  
	interface MyInterface { 
		 public function method1(); 
		 public function method2();
		 public function method3(); 
	}
	  
	class MyClass implements MyInterface { 
	  
		public  function method1() { 
			echo "Méthode1 Appelé" . "\n"; 
		} 
	  
		public  function method2(){ 
			echo "Méthode2 Appelé". "\n"; 
		} 
		
		public  function method3(){ 
			echo "Méthode3 Appelé". "\n"; 
		} 
	}  
	  
	$obj = new MyClass; 
	$obj->method1(); 
	$obj->method2();
	$obj->method3(); 
?>

La sortie :

Méthode1 Appelé
Méthode2 Appelé
Méthode3 Appelé

 

Implémenter plusieurs interfaces

Une classe peut implémenter plusieurs interfaces, séparées par des virgules.

class MyClass implements MyInterface1, MyInterface2, MyInterface3 {
  // code...
}

 
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *