Magazine

Introduction à la POO avec PHP - Partie 6

Publié le 19 avril 2008 par Methylbro

Si vous avez suivis tous mes billets sur la POO avec PHP de cette semaine (voir le billet Introduction à la POO avec PHP) ; vous devez maintenant être en mesure d’écrire vos premières classes. De définir vos premiers objets. Bref ; d’entrer dans le monde de la Programmation Orienté Objet.

Aujourd’hui suite et fin de cette série de billet. Aujourd’hui ; cours pratique. Créons notre classe Stylo !

Exemple

Maintenant ; vous avez en main tous les clés pour comprendre le détail de ma classe d’exemple.

class Stylo {
  static private $niveau_encre_max = 100;
  static private $niveau_encre_min = 25;
  private $niveau_encre;
  protected $couleur_normale = '#000000';
  protected $couleur_fin = '#C0C0C0';
  public $statut;
  private function peutEcrire() {
   if (!$this->statut) {
   $result = false;
   } elseif ($this->niveau_encre<=0) {
   $result = false;
   } else {
   $result = true;
   }
   return $result;
  }
  public function __construct() {
   $this->statut = false;
   $this->niveau_encre = self::$niveau_encre_max;
  }
  public function click() {
   if ($this->statut) {
   $this->statut = false;
   } else {
   $this->statut = true;
   }
  }     public function ecrire($texte) {
  if ($this->peutEcrire()) {
   echo '<p style="color:'.$this->couleur_normale.'">';
   $nb_caracteres = strlen($texte);
   $texte = htmlentities($texte);
   $texte = str_split($texte);
   $i = 0;
   while($this->peutEcrire() & $i<=$nb_caracteres) {
   if ($this->niveau_encre==self::$niveau_encre_min) {
   $format = '<span style="color:'.$this->couleur_fin.'">%s';
   } else {
   $format = "%s";
   }
   printf($format, $texte[$i]);
   $i++;
   $this->niveau_encre --;
   }
   if ($this->niveau_encre<=self::$niveau_encre_min) {
   echo "</span>";
   }
   echo "</p>\n";
   }
  }
}   $monBic = new Stylo();
$monBic->ecrire(‘Essayez d\’écrire sans enlever le capuchon…’) ; $monBic->click() ; $monBic->ecrire(‘Un premier paragraphe.’) ;
$monBic->ecrire(‘Un second paragraphe qui n\’iras pas jusque au bout car mon stylo va certainement manquer d’encre.’);
$monBic->click() ;

Conclusion

La plupart des développeurs qui ne développent pas encore en POO expliquent souvent que ; pour qu'il leur est plus "naturel" de concevoir et de lire un code procédural.

C’est une fausse excuse. Sur un projet de taille un peu conséquente ; il sera plus facile de manipuler des objets et des entités logique. Ainsi que plus facile à écrire ; et à naviguer au sein de ces entités. Que de se retrouver au milieu d’une foule de procédures ; complexifiant le code ; et très souvent même consommant trop de ressources.

De plus ; l’exemple utilisé dans cet article démontre bien que ; grâce au concept objet ; vous pouvez intégrer absolument tous les cas que vous aurez à traiter. Et ce ; en quelques minutes.


Retour à La Une de Logo Paperblog

A propos de l’auteur


Methylbro 17 partages Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossier Paperblog