Médiaforma

PHP MySQL – Interfaces

Print Friendly

En programmation objet, les interfaces permettent d’indiquer quelles méthodes publiques une classe doit implémenter. Leur principal intérêt est de garantir que toutes les classes qui l’implémentent donneront accès aux méthodes spécifiées dans l’interface.

L’utilisation d’interfaces trouve son utilité dans des projets impliquant plusieurs programmeurs ou développés de façon modulaire.

Voyons comment mettre en œuvre une interface dédiée à la formation PHP. Les classes qui implémenteront cette interface devront elles-mêmes implémenter les méthodes publiques programme() et pratique().

Voici le fichier interface.php correspondant :

<?php
interface formationPHP{
  public function programme();
  public function pratique();
}
?>

Nous allons maintenant définir deux classes qui implémentent l’interface formationPHP.

Voici le code de la classe debutant (debutant.class.php) :

<?php
  require_once "interface.php";
  class debutant{
    public function programme() {
      return "<ul><li>Instructions</li><li>Fichiers</li><li>Transmission de données</li></ul>";
    }

    public function pratique() {
      return "Exercices pour appréhender le langage.<br>";
    }
  }
?>

Remarquez l’instruction require_once au début du listing, pour faire référence à l’interface.

Et voici le code de la classe avance (avance.class.php) :

<?php
  require_once "interface.php";
  class avance{
    public function programme() {
      return "<ul><li>Superglobales</li><li>POO</li><li>BDD</li></ul>";
    }

    public function pratique() {
      return "Nombreux exercices de tous niveaux.<br>";
    }
  }
?>

Il ne reste plus qu’à utiliser les classes debutant et avance en définissant un quatrième fichier PHP (formation.php) :

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>Utilisation des classes debutant et avance</title>
  </head>
  <body>
    <?php
      include_once("debutant.class.php");
      include_once("avance.class.php");
      $coursDebutant = new debutant;
      $coursAvance = new avance;
      echo "<b>Formation pour débutants PHP</b><br>";
      echo "<i>Programme :</i><br>";
      echo $coursDebutant->programme();
      echo "<i>Pratique :</i><br>";
      echo $coursDebutant->pratique();

      echo "<br><b>Formation avancée PHP</b><br>";
      echo "<i>Programme :</i><br>";
      echo $coursAvance->programme();
      echo "<i>Pratique :</i><br>";
      echo $coursAvance->pratique();
    ?>
  </body>
</html>

Les classes debutant et avancé sont incluses au début du script avec la fonction include_once.

Les objets $coursDebutant et $coursAvance sont alors créés en instanciant les classes debutant et avance.

Le texte Formation pour débutants est alors affiché en gras.

Puis le mot Programme est affiché en italique.

Pour obtenir le programme de la formation PHP pour débutants, on invoque la méthode programme de la classe coursDebutant. Les notions abordées dans le programme sont alors affichées, retournées par la méthode programme.

Le texte pratique est alors affiché en italique puis la méthode pratique de l’objet coursDebutant est invoquée pour afficher le type d’exercices effectués dans la formation débutant.

Des instructions du même type affichent le programme et le type d’exercices pratiqués dans la formation PHP avancée.

Exécutons ce code dans WAMP Server. Les méthodes programme et pratique des objets coursDebutant et coursAvance sont bien accesibles et retournent bien les informations attendues.

Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply