Easy-Micro

LANGAGE Intro POO PHP
Encapsulation PHP

Introduction à la programmation orientée objet en PHP

Encapsulation et visibilité des propriétés et méthodes PHP

L'encapsulation désigne le principe de regroupement des données et du code qui les utilise au sein d'une même unité. On va très souvent utiliser le principe d'encapsulation afin de protéger certaines données des interférences extérieures en forçant l'utilisateur à utiliser les méthodes définies pour manipuler les données. Sont utilisé des limiteurs d'accès ou des niveaux de visibilité qui vont être représentés par les mots clefs public, private et protected.

Le principe d'encapsulation est l'un des piliers de la programmation orientée objet et l'un des concepts fondamentaux, avec l'héritage, de l'orienté objet en PHP.

  • Public
    Les propriétés, méthodes ou constantes définies avec le mot clef public vont être accessibles partout, c'est-à-dire depuis l'intérieur ou l'extérieur de la classe.
  • Private
    Les propriétés, méthodes ou constantes définies avec le mot clef private ne vont être accessibles que depuis l'intérieur de la classe qui les a définies.
  • Protected
    Les propriétés, méthodes ou constantes définies avec le mot clef protected ne vont être accessibles que depuis l'intérieur de la classe qui les a définies ainsi que depuis les classes qui en héritent ou la classe parente. Nous reparlerons du concept d'héritage plus loin.

Si vous essayez par exemple d'afficher directement le contenu de la propriété $user_name en écrivant echo $pierre->user_name dans notre script principal, par exemple, l'accès va être refusé et une erreur va être renvoyée. En revanche, si on définit notre propriété comme publique, ce code fonctionnera normalement.

Pour bien choisir le niveau de visibilité des différents éléments d’une classe, il faut s'interroger sur le niveau de sensibilité de chaque élément et sur les impacts que peuvent avoir chaque niveau d'accès à un élément sur le reste d'une classe tout en identifiant les différents autres éléments qui vont avoir besoin d'accéder à cet élément pour fonctionner.

Pour faire court, on définira généralement nos méthodes avec le mot clef public et nos propriétés avec les mots clefs protected ou private.

« Prev - Intro POO PHP - Next »


< Page précédente INTRO POO PHP Page suivante >