<?php
 // === Programmation Orienté Objet === POO ===
 // Déclaration de la classe Somme_Entiers
 class Somme_Entiers
 {
   private $resultat;
   // --- constructeur ---
   function __construct()
   {
     echo "--- Appel du constructeur ---\n";
     $this->resultat=0;
     echo "variable interne resultat initialisée à : ".$this->resultat."\n";
   }
   // --- destructeur ---
   function __destruct()
   {
     echo "--- Appel du destructeur ---\n";   
     unset ($this->resultat);
     if (!isset($this->resultat))
     {
       echo "Variable interne resultat supprimée\n";
     }
   }  
   // --- Méthode calcul de la somme ---
   public function Somme()
   {
    echo "--- Appel de la méthode Somme ---\n";
     for($i=1;$i<6;$i++)
     {
       $this->resultat=$this->resultat+$i;
       echo "resultat=".$this->resultat."\n";
     }
     unset ($i);
   }
   // --- Méthode affichage du résultat ---
   public function Affichage()
   {
     echo "--- Appel de la méthode Affichage ---\n";
     echo 'Somme des 5 premiers entiers : '.$this->resultat."\n";
   }
 }

// === corps du programme ===
 $calcul = new Somme_Entiers();
 $calcul->Somme();
 $calcul->Affichage();
 unset ($calcul);
?>
