Access Code School (ACS), École du numérique pour tous en Bourgogne Franche-Comté, Auvergne Rhône-Alpes, Centre Val de Loire et Nouvelle-Aquitaine

Blog

POO en PHP introduction

Programmation Orientée Objet en PHP

pour débutants

Cet article s’adresse à ceux qui veulent débuter la POO en PHP. Nous allons voir ici comment mettre en oeuvre une petit programme utilisant le paradigme de programmation objet.

Vous apprendrez ici comment créer une classe simple, comment l’instancier, appeler ces propriétés, ces méthodes, et, nous finirons par une introduction à l’héritage de classe.

codeur faisant un algo POO

La classe! Ma première classe!

Pour créer une classe ou modèle, il suffit d’utiliser le mot-clé class, suivit par son nom dont la première lettre est, en général et par convention, en majuscule.
N’incluez pas vos classes dans votre code principal, créez un nouveau fichier par classe.

Les propriétés

Maintenant que vous savez comment déclarer une classe, nous allons nous intéresser aux propriétés, qui ne sont autre que des variables propres à leur classe.

Par soucis de simplicité, nous n’aborderons pas la visibilité des propriétés et méthodes, nous déclarerons donc celles-ci en public.

Les méthodes

Une méthode est une fonction qui appartient à une classe. Elle se déclare de façon similaire à une propriété.

Le mot-clé $this fait référence à l’intérieur d’une classe à l’instance de l’objet traitée.

Instancier un objet

Pour utiliser un objet, il faut l’instancier en se servant du mot-clé new.
Pour tester votre première classe nous allons déployer un index.php rudimentaire.

Entre les balises <?php ?> insérez le code suivant :

Les constructeurs

Les classes qui possèdent une méthode constructeur __construct() appellent cette méthode à chaque création d’une nouvelle instance de l’objet, ce qui est intéressant pour toutes les initialisations dont l’objet a besoin avant d’être utilisé.

Nous allons en profiter pour définir une nouvelle classe.

on modifie ensuite index.php

Dans // votre code ici, on instancie un objet Personnel en lui passant des arguments qui seront immédiatement traités par le constructeur.

Puis on appelle la méthode affiche pour afficher les informations stockées dans cette instance.

L’héritage en POO PHP

Il est temps pour nous de voir les principes de base de l’héritage en POO en PHP.

Une classe peut hériter d’une autre classe ce qui lui permet d’avoir à sa disposition toutes les propriétés et méthodes de sa classe parent (enfin cela dépend de la visibilité, mais ici nous faisons comme si tout était de visibilité public).

Le mot-clé extends est utilisé pour hériter d’une classe parent.

Il est temps de définir, dans un nouveau fichier, la classe Cadre héritée de Personnel.

Avec parent::nom_de_la_méthode, vous héritez du code de la méthode de la classe parent avant de la surcharger. Dans notre exemple, le constructeur appelle en premier celui du parent et le complète avec la ligne de code $this->titre = $titre.

Vérifions le résultat en tapant ces lignes de code dans votre index.php.

En résumé

Nous venons donc de voir les bases de la POO en PHP, et avant de terminer nous allons revenir sur les mots-clés principaux.

  • class permet de déclarer un modèle et extends d’en hériter.
  • $this correspond à l’instance de l’objet à l’intérieur d’un classe, $this->propriété appelle une propriété de l’instance.
  • new instancie un nouvel objet depuis une classe, $instance = new MaSuperClasse();
  • parent:: inclut le code de la méthode de la classe parent.

Pour conclure

La POO est souvent présentée comme le saint Graal au développeur débutant, pourtant il est inutile de se lancer précocement dans ce concept de programmation. En effet, il faut déjà être à l’aise avec le langage utilisé (pas la peine d’être une brute non plus), et avoir bien compris l’intérêt et l’utilisation des fonctions en programmation procédurale.
Une fois ces concepts acquis, le passage à la POO permet d’évoluer dans la quête sans fin de connaissance qu’impose ces métiers.
En outre la POO se combine à merveille avec l’architecture MVC (model, vue, contrôleur), pensez à la puissance d’un bon héritage sur une classe contrôleur…

Donc pour ceux qui se sentent prêts à sauter le pas, mon dernier conseil est : la pratique, la pratique et encore la pratique.

POO! POO! POO! POO! (Joey Star).

Article POO - forme géo 3d

Mes sources :

php.net

About the Author

Ajouter un commentaire

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