Les Propriétés
Définition
Les variables au sein d'une classe sont appelées "propriétés". On peut également les retrouver sous les dénominations "attributs", "membres" ou "champs", mais nous conservervons l'appellation "propriété" pour cette documentation.
Elles sont définies en utilisant un des mots-clés public, protected, ou private, suivi d'une déclaration classique de variable. Cette déclaration peut comprendre une initialisation, mais celle-ci doit être une valeur constante, c'est à dire qu'elle doit pouvoir être évaluée pendant la compilation du code, et qu'elle ne peut pas dépendre d'informations déterminées lors de l'exécution de celui-ci pour pouvoir être évaluée.
Au sein des méthodes de classes, les propriétés non statiques peuvent être appelées en utilisant la syntaxe -> (opérateur de l'objet)
$this->property
(où property est le nom de la propriété).
La pseudo-variable $this est disponible au sein de n'importe quelle méthode, lorsque cette méthode est appelée depuis un objet. $this est une référence à l'objet appelant (en général l'objet auquel la méthode appartient).
Exemple :
class SimpleClass
{
private $id;
private $nom;
private $prenom;
private $admin = false;
private $date;
}
Dans la plupart des cas les propriétés d'un objet sont déclarées en tant que données "private". Cela permet de gérer l'encapsulation.
Visibilité
Les propriétés d'un objet ont 3 types de visibilités :
Les éléments déclarés comme publics peuvent être utilisés par n'importe quelle partie du programme.
L'accès aux éléments protégés est limité à la classe elle-même, ainsi qu'aux classes qui en héritent, et à ses classes parentes.
L'accès aux éléments privés est uniquement réservé à la classe qui les a défini. Cela s'appelle l'encapsulation, et permet de protéger le contenu de notre objet.
/!\ ATTENTION /!\
Par défaut, si aucune visibilité n'est spécifiée, la propriété sera en public !