Les bases de la POO en PHP Programmation Orientée Objet en PHP - Partie 1 Introduction Cela fait partie de ma série 1, Programmation Orientée Objet en PHP. POO signifie Programmation Orientée Objet. Dans cette partie de la série, nous regardons PHP bases de la POO. Remarque: Si vous ne pouvez pas voir le code ou si vous pensez que quelque chose manquait (lien brisé, l'image absente), contactez-moi au [email protected]. Qui est, me contacter pour le moindre problème que vous avez à propos de ce que vous lisez.
Prérequis Il ya d'autres articles (tutoriels) Je vous ai écrit dans ce blog sur PHP. Vous avez besoin de eux ou articles similaires avoir lu, avant de lire cette série. Les titres des articles dans ce blog, qui constitue un préalable indispensable à la lecture de cette série sont: - Démarrer avec PHP - Variables comme synonymes dans PHP - Portée mondiale et Fonction variable en PHP - Certains types de données scalaires en PHP un langage informatique édifie. Il ya certaines choses que vous avez à apprendre d'abord et ensuite les utiliser pour apprendre des choses plus élevées.
Chacun des titres ci-dessus est soit un tutoriel ou le premier tutoriel d'une série. Si elle est la première partie d'une série, alors vous devriez avoir lu toute la série. Si il est un tutoriel debout seul, alors vous devriez avoir lu le tutoriel. Pour atteindre ces articles, il suffit de taper le titre de l'article et mon nom Chrys dans le champ de recherche de cette page puis cliquez sur Rechercher.
Préambule Lorsque vous avez un ensemble de variables et fonctions qui travaillent ensemble et apparaîtraient dans de nombreuses parties de votre code, vous pouvez mettre tout cela dans une unité généralisée, appelée une classe. Il n'y aura pas besoin de répéter les frappe de l'ensemble. Dans ce tutoriel, nous parlons d'un ensemble de variables et fonctions. L'ensemble des variables et fonctions forment une classe, si réunis dans une manière spéciale. Les fonctions travaillent avec les valeurs des variables.
Sous cette condition, il est possible que les valeurs des variables et les résultats des fonctions d'accompagnement peuvent être en train de changer. Pour utiliser la classe après qu'il a été défini, vous devez créer une unité correspondante de la classe, toutes choses étant égales. Cette unité particulière est appelé un objet. Dans cette partie de la série, je vous donne l'explication de base des classes PHP et leurs objets. Vous devriez lire cette série dans l'ordre donné; qui est, vous commencez avec la partie 1, qui faisait alors partie 2, qui faisait alors partie 3 et ainsi de suite.
Groupe des variables et des fonctions Considérons un groupe de variables et de fonctions qui fonctionnent comme une unité généralisée. Lire et essayez le code suivant et notez qu'il retourne la somme de 2 et 3. $ num1 = 2; num2 $ = 3; fonction add ($ no1, no2 $) {$ somme = $ + $ no1 no2; return $ somme; } $ Result = ajouter ($ num1, num2 $); echo $ result; ?> Vous avez deux variables (NUM1 et NUM2) et une fonction (ajouter). Dans le code, la fonction est appelée, et la somme retournée est stocké dans la variable, résultat. Le résultat est envoyé à la sortie (navigateur).
Maintenant, le code ci-dessus résume deux numéros particuliers, qui sont 2 et 3. Vous voudriez un morceau de code qui résume toutes les deux numéros, pas seulement 2 et 3. Une possibilité est d'inclure une autre fonction qui recevrait les deux numéros, changer le Les valeurs des deux variables, puis appelez add ($, no1 no2 $) fonction. Il ya une autre possibilité, qui est devenu très populaire au cours des années; il est de créer une classe, puis créer un objet à partir de la classe qui ajouterait deux numéros particuliers.
Une classe est une unité généralisée de code, à partir de laquelle les choses appellent objets peuvent être créés pour accomplir des tâches particulières. Un objet est appelé l'instance d'une classe. Remarque: dans le code ci-dessus les deux variables ($ NUM1 et $ NUM2) et la fonction (ajouter ()), travaillent ensemble. Voilà pourquoi il est conseillé d'avoir les deux variables et la fonction dans une unité appelée classe. Classe Une classe est une unité généralisée (définition) à partir de laquelle les objets peuvent être instanciés (créé).
Une classe est fondamentalement une unité de code qui a variables et fonctions qui travaillent ensemble. Les variables sont appelées propriétés et les fonctions sont appelées méthodes. Une classe peut résoudre un problème (réaliser une tâche), mais il est généralement pas recommandé pour une classe pour résoudre un problème. Il est un objet créé à partir d'une classe qui devrait effectuer une tâche (résoudre un problème); pas la classe. Lorsque vous créez un objet d'une classe, nous disons que vous êtes instanciation de l'objet. Une variable de la classe est appelée une propriété de la classe.
Une fonction de la classe est appelée une méthode de la classe. Propriétés d'une classe sont également appelés membres de données (de la classe). Un objet créé à partir d'une classe a les mêmes propriétés et méthodes que la classe. De catégorie A et d'objets créés à partir de ce qui précède code Le code ci-dessus peuvent être convertis en une classe et l'objet comme suit: Calculatrice de classe {$ de num1 public; $ num2 public; fonction publique add () {$ somme = $ this-> num1 + $ this-> num2; return $ somme; }} $ MyObj = new Calculator (); $ myObj-> num1 = 2; $ myObj-> num2 = 3; Résultat $ = $ myObj-> ajouter (); echo $ result; ?> Vous définissez une classe en commençant par le mot réservé, classe.
Ensuite, vous avez un espace, puis suivez avec le nom de la classe. Vous avez choisi le nom que vous voulez donner à la classe. Je ai donné le Calculateur de nom parce que la classe est en train de faire quelques calculs. Après le nom de la classe, vous avez une paire de accolades. Il ya des déclarations et des blocs à l'intérieur des accolades. Toutes les déclarations de la classe vont l'intérieur des accolades. Il est classique de saisir les variables avant de les fonctions. Les variables dans la classe sont appelées propriétés et les fonctions dans la classe sont appelées méthodes.
Dans la définition d'une classe de base que celui ci-dessus, vous faites précéder les propriétés et les méthodes avec le mot réservé, public. Les variables et la fonction que nous avions dans le programme précédent sont les mêmes variables et de la fonction que nous avons maintenant dans la classe. Dans une définition méthode (fonction) dans une définition de classe, d'accéder à une propriété, vous commencez avec la variable prédéfinie, $ this. $, cela signifie la classe ou de l'objet qui a la méthode. Après avoir tapé $, vous tapez l'opérateur flèche, ->.
Après que vous tapez le nom de la propriété (variable) sans le signe $. Lisez la description de la classe ci-dessus pour apprécier la façon dont la classe est définie. Dans des circonstances normales, vous déclarez les propriétés dans une classe, et vous ne les initialise pas. Voilà pourquoi dans la classe au-dessus, et num2 num1 ne pas avoir de valeurs qui leur sont assignées. Cela est une pratique courante. Vous pouvez toujours attribuer des valeurs aux propriétés si vous voulez, comme vous le feriez à des variables en dehors de la classe.
Il est ce qu'on appelle la fonction constructeur qui peut être utilisé pour affecter des valeurs initiales à eux comme un objet est créé (instanciée) de la classe (voir plus loin). Remarque: Il est d'usage de commencer le nom d'une classe avec une majuscule et le nom d'un objet avec une petite lettre. Création d'un objet de la classe sans fonction constructeur Une classe comme celle-ci ne dispose pas d'une fonction constructeur (voir plus loin). Quand une classe n'a pas de fonction constructeur, vous instancier un objet de celle-ci, en commençant par le mot réservé, nouvelle.
Il est suivi par un espace puis le nom de la classe, suivi par des parenthèses. Le mot, la nouvelle est un opérateur, qui renvoie une référence à l'objet créé (instanciée) sur une région dans la mémoire. La consigne est affectée retourné à une variable. Remarque dans le programme ci-dessus comment l'objet, $ myObj est instancié. Normalement, il est l'objet qui exécute votre tâche et non la classe. Vous pouvez cependant faire la classe pour mener à bien votre tâche, mais qui est pas une bonne pratique.
L'objet instancié a toutes les propriétés et les méthodes que la classe il a été instancié à partir, a. La classe et l'objet instancié peuvent être considérés comme deux pièces différentes de code dans la mémoire. Pour accéder à une propriété ou une méthode d'un objet instancié, vous tapez le nom de l'objet, puis l'opérateur de flèche, puis le nom de la propriété sans le signe $ ou le nom de la méthode. Dans le programme ci-dessus, l'objet $ myObj est instancié et sa propriété, num1 est donnée la valeur, 2 et son num2 de la propriété est donnée la valeur 3.
Vous pouvez instancier un objet différent de la même manière en lui donnant un nom différent et différent les valeurs pour les mêmes propriétés. Lisez le programme ci-dessus à fond et essayer. Par défaut la valeur des propriétés Une classe peut avoir des valeurs de propriété par défaut. Pour atteindre cet objectif, il vous suffit d'attribuer des valeurs aux propriétés que vous définissez la classe. Tout objet instancié à partir de cette classe aura les valeurs assignées automatiquement à leurs propriétés.
Vous pouvez toujours modifier les valeurs des propriétés de l'objet, par la simple assignation de nouvelles valeurs. Eh bien, donnant des valeurs par défaut pour une classe comme je l'ai indiqué précédemment est pas une pratique courante. Il est préférable de donner des valeurs juste après la classe a été instanciés ou lors de l'instanciation (voir plus loin). Lire et essayer le programme suivant: classe Cla {public $ num1 = "homme"; public $ num2 = "femme"; affichage de la fonction publique () {echo $ this-> num1. " et " .
$ this-> num2; }} $ Obj = new Cla (); $ obj-> display (); ?> Classe constantes comme valeurs par défaut, vous pouvez donner des valeurs constantes de propriétés d'une classe. Tout objet instancié à partir de cette classe aura les propriétés, constante. Ceci est différent de valeurs par défaut dans le sens où les valeurs des propriétés dans les objets de classe et instanciés ne peuvent être modifiés. Pour atteindre ce que vous venez de faire précéder la variable (propriété) dans la définition de la classe avec le mot réservé, const.
Ici, la variable, ne prenez pas le signe $ quand il est déclaré et quand il est utilisé. Lire et essayer le programme suivant; classe Cla {pi const = 3.14; affichage de la fonction publique () {echo self :: pi. »Comme pi pour cette classe et ses objets instanciés ne peut pas être changé."; }} $ Obj = new Cla (); $ obj-> display (); ?>