Programmation Orientée Objets en PHP www.moteurprog.com Partie 1 : Introduction
Programmation Orientée Objets en PHP www.moteurprog.com Partie 1 : Introduction 1. Introduction 1.1 Implémentation en PHP La notion d'objet dans le langage du PHP à un aspect très limité contrairement au langages de référence tel que le C++, dans cet article, je vais essayé de vous expliquer son implémentation dans le PHP, et comment l'utiliser. 1.2 Concept Objet Le concept objet doit être pris dans le sens de "module", sous ce nom, se cache un ensemble de commandes visant à exécuter des actions, un objet est une entité, un peu comme si l'on voulait diviser notre programme en sous-tâches. 1.3 Avantages Beaucoup d'avantages donnent raisons à l'utilisation des classes, réutilisation du code plus facile, traitement des informations à part, cela réduit aussi considérablement le temps de travail, car vous incluez votre classe dans tous les programmes qui vont l'utiliser au lieu de la réécrire. 1.4 Acquis Dans cet article, je considérerais que vous avez de bonnes bases en PHP, ce tutorial s'adresse néanmoins surtout aux débutants. 2. Théorie 2.1 Thermes La programmation objet utilise un vocabulaire particulier : Vocabulaire du concept Objet en PHP objet Représentant de la classe dans l'application, il se nomme instance de classe. classe Entité contenant toutes les méthodes et attributs. méthode Nom donné aux fonctions contenu dans la classe. attribut Nom donné aux variables globales de la classe, définis aux début. constructeur Nom donné à la méthode lancé lors de l'instanciation de la classe, elle porte le même nom que la classe. destructeur Nom donné à la méthode lancé lors de la destruction de la classe, cet notion, n'existe pas vraiment dans l'implémentation du concept objet en PHP. 2.2 Classe Pour introduire une classe dans un programme vous devez utiliser : class nom_classe { //... } La spécification des attributs se fait au début : class nom_classe { // Variable sans valeur var $variable1; // Variable avec valeur var $variable2 = "Variable 2"; // Tableau var $tableau = array(); //... } Comme vous pouvez le voir, on utilise le mot clé var pour introduire un attribut, vous pouvez laissez cette variable indéfinie, ou lui donner une valeur. Introduction du constructeur (facultatif) : class nom_classe { // Variable sans valeur var $variable1; // Variable avec valeur var $variable2 = "Variable 2"; // Tableau var $tableau = array(); // Le constructeur de la classe function nom_classe ($var, $autre_var) { //... } } Le constructeur est une méthode lancé lors de l'encapsulation (instanciation) de la classe, cette méthode est facultative. Inclusion d'autres méthodes : class nom_classe { // Variable sans valeur var $variable1; // Variable avec valeur var $variable2 = "Variable 2"; // Tableau var $tableau = array(); // Le constructeur de la classe function nom_classe ($var, $autre_var) { //... } // Fonction1 function Fonction1 () { //... } // fonction2 function fonction2 ($var) { //... } } La définition de méthodes dans une classe se fait de la même manière que les fonctions dans le code source PHP, j'en profite pour rappeler que PHP est sensible à la casse (majuscule/minuscule). 2.2 Code source Voyons maintenant ce qui se passe du côté de votre script PHP qui va utiliser votre classe nouvellement créer : <?php // Création d'une instance de la classe nom_classe et lancement de la // fonction de construction (le constructeur) $objet = new nom_classe ("valeur, valeur2"); // Vous l'avez remarqué, $objet est l'objet ! // Définition de la variable $variable1 $objet->variable1 = "Variable 1"; // Lancement de la fonction fonction2() $objet->fonction2 ("valeur"); ?> On commence tout d'abord par créer une nouvelle instance de la classe nom_classe à l'aide du mot-clé new, par la même occasion, la fonction du même nom que la classe (le constructeur) est lancé, le constructeur sert en général à définir les attributs selon les arguments passés en paramètres. Ensuite, nous définissons la variable de la classe, $variable1, pour cela on utilise l'objet suivi d'un tiret - puis d'un signe supérieur > et on ajoute le nom de la variable (qui est à l'intérieur de la classe) sans le signe dollar $. L'utilisation des fonctions (méthodes) de la classe se fait de la même manière que les variables (attributs) comme nous le voyons pour la méthode fonction2(). Partie 2 : Pratique 1. De la Théorie à la Pratique 1.1 POO en PHP : Partie 2 Bienvenu(e) dans la deuxième partie de ce tutorial réservé à l'étude et l'apprentissage de la POO (Programmation Orientée Objets) dans le langage PHP. Nous allons étudier plus en profondeur le fonctionnement des classes. 1.2 Pour la Pratique Je considèrerais comme acquis le premier article du même sujet (Partie 1 : Introduction) 2. Dans la Classe 2.1 Mots-Clé Voici un résumé des mots-clés à utiliser dans vos classes : Mots-clé des classes class Il sert à définir une classe, utiliser au début, nous reverrons sont utilisation plus loin. var Défini les attributs de la classe. function Défini les méthodes de la classe (même utilisation que le mot-clé du même nom dans le code source PHP) new Il permet d'instancer une classe dans un objet, à utiliser dans le code source de votre page PHP. 2.2 Création d'une classe Nous allons utiliser le mot clé class pour commencer une nouvelle classe. Le mieux, est de placer la source de la classe dans un fichier à part de la page PHP, afin de pouvoir réutiliser la classe dans d'autres pages ou applications. Vous n'avez plus qu'ensuite à faire un include du fichier contenant la classe dans toutes vos pages PHP devant l'utiliser. Moi, j'utilise, pour nommer les fichiers de mes classes l'extension : ".class.php", bien sur vous pouvez choisir ce qu'il vous plait. Certains utilise ".class" comme extension, c'est une faute grave car n'importe qui sachant où se trouve le fichier pourra voir le code source de la classe. Dans la mesure du possible donner à vos fichiers une extension fini par ".php" <?php /* Fichier classe1.class.php */ // Création d'une nouvelle classe : class classe1 // classe1 est le nom de la classe { /* Le code de la classe est contenu entre les accolades */ } ?> 2.3 Définition d'attributs Les attributs sont des variables qui sont utilisés dans tous le code de la classe (uniquement), chaque fonction de la classe peut utiliser un attribut, pour cela, elle utilise une variable spéciale qui fait référence à l'objet : $this, ainsi pour qu'une méthode puisse profiter d'un attributs de la classe (p. ex. $variable1) elle utilise $this->variable (p. ex. $this->variable1). Notez bien que vous devez omettre le signe dollar $ devant le nom de l'attribut de la même façon que dans le code source de la page PHP (cf. Partie 1). Pour voir comment une fonction utilise les attributs, référez-vous au 2.4. Pour définir un attribut dans une classe, vous devez utiliser var, suivi du nom de la variable (attribut) puis d'un point-virgule ; (p. ex. var $variable1; ) Vous pouvez introduire un nombre infini d'attributs à n'importe quel endroit de la classe. Vous pouvez au moment de définir un attribut lui donner une valeur par défaut, pour cela, taper var, suivi du nom de la variable (p. ex. $variable2), suivi d'un égal =, puis de la valeur entre parenthèses (p. ex. "Valeur 2"), pour finir ajouter l'habituel point-virgule ; (ce qui donne p. ex. var $variable2 = "Valeur2";). Vous avez aussi la possibilité de définir un tableau, de la même façon que ci-dessous, sauf que la valeur est remplacée par array ('valeur1', 'valeur2', 'valeur3') (p. ex. var $variable3 = array ('Valeur1', 'Valeur2', 'Valeur3');). Voir ci-dessous pour un exemple de tous ce qui à été vu précédemment. <?php/ * Fichier classe2.class.php */ // Création d'une nouvelle classe : class classe2 // classe2 est le nom de la classe { // Attribut sans valeur var $variable1; // Attribut avec valeur par défaut var $variable2 = "Variable 2"; // Tableau de valeur var $variable3 = array('Valeur1''Valeur2', 'Valeur3'); ?> 2.4 Définition de méthodes Les méthodes sont des fonctions utilisées dans la classe, elles ont les mêmes spécifications que les fonctions utilisées dans le code source de la page. Ainsi je ne m'étendrais pas beaucoup dessus, référez-vous à un cours sur les fonctions utilisateurs, plus complet. Utilisez le mot-clé function pour introduire une nouvelle fonction au sein de la classe. Pour savoir comment utiliser les attributs de la classe dans une fonction, voyez l'exemple ci- dessous. Pour l'utilisation d'autres méthodes de la classe, on procède de la même façon que pour les attributs, vous devez utiliser le mot-clé $this faisant référence à l'objet, suivi de -> et enfin la fonction, (p. ex. $this->fonction1()). Voyez ci-dessous pour un exemple. <?php /* Fichier classe3.class.php */ // Création d'une nouvelle classe : class classe3 // classe3 est le nom de la classe { // Attribut sans valeur var $variable1; // Attribut avec valeur par défaut var $variable2 = "Variable 2"; // Tableau de valeur var $variable3 = array('Valeur1','Valeur2', 'Valeur3'); /* Méthode appelant un attribut de la classe */ function fonction1 ($var) { /* Donne une valeur à l'attribut $variable1 */: $this->variable1 = "$var"; } /* Méthode uploads/S4/ php-poo-fr-avec-exemples.pdf
Documents similaires










-
34
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Nov 11, 2022
- Catégorie Law / Droit
- Langue French
- Taille du fichier 0.0631MB