Quantcast
Channel: Méthylbro Développeur Web PHP - Mot-clé - classe
Viewing all articles
Browse latest Browse all 5

Introduction à la POO avec PHP - Partie 3

$
0
0

Vous le savez ; depuis lundi je m’efforce de faire découvrir à ceux qui ne le connaissent pas le monde le la Programmation Orienté Objet (voir ce billet). Une série de billet à l’occasion de la sortie cette semaine de la nouvelle version de Titaxium.

Aujourd’hui ; troisième Opus.

Les concepts généraux de la POO (suite)

Porté des éléments

Il est possible de contrôler la visibilité des éléments de votre classe au sein de votre code. Pour ce faire nous allons découvrir de nouveaux mots clés.

Si vous avez déjà pu lire du code source PHP écris avec de la POO ; vous avez sans doutes vu apparaitre des mots comme « public», « private» ou encore « protected».

Ces mots clé sont utilisés pour définir la visibilité de vos éléments. J’entends par éléments ; les propriétés et les méthodes de votre classe. L’intérêt est de pouvoir limiter l’accès à ces éléments en fonction de l’endroit dans le code ou vous en faites appel.

Vous pouvez restreindre la visibilité de vos éléments selon les trois niveaux suivant :

Public

De n’importe où cet élément sera visible. A n’importe quel moment dans votre programme vous pourrez venir utiliser un élément défini comme public.

class Stylo {
  public $niveau_encre = 1;
}

$unStylo = new Stylo();
echo $unStylo->niveau_encre; // Affiche 1

$unStylo->niveau_encre = 0;
echo $unStylo->niveau_encre; // Affiche 0

Private

Si vous choisissez cette option ; votre élément ne sera visible uniquement par votre classe. De la même manière que ; dans un développement procédural ; vous déclarez (par défaut) et utilisez une variable au sein d’une fonction. Cette variable ne sera visible et utilisable uniquement au sein de votre fonction ; et pour une utilisation de celle-ci.

class Stylo {
  private $niveau_encre = 1;

  function test() {
    echo $this->niveau_encre ;
  }
}

$unStylo = new Stylo();

echo $unStylo->niveau_encre;
// Affiche l’erreur :
// Cannot Access private property

$unStylo->test() ; // Affiche 1

Protected

Ce type de visibilité est associé aux concepts d’héritages et de polymorphisme que nous ne traiterons pas dans cet article.

Par défaut en PHP ; tous vos éléments prendront la visibilité public.

Lire la suite...


Viewing all articles
Browse latest Browse all 5

Trending Articles