Le mot clé this
Partie théorique
En PHP, le mot clé this
est une référence à l'objet courant.
this
n'est pas une variable, c'est une pseudo-variable, vous ne pouvez pas lui assigner une valeur.
Dans le contexte d'une méthode,
this
est une référence à l'objet sur lequel la méthode a été appelée.
On utilise le mot clé this
pour accéder aux propriétés et méthodes de l'objet courant.
Exemple pratique
Regardons un exemple simple pour comprendre comment this
fonctionne en PHP :
Je souhaite afficher la couleur dans la méthode :
class Voiture {
public $couleur = "rouge";
public function afficherCouleur() {
print($couleur);
}
}
$maVoiture = new Voiture();
$maVoiture->afficherCouleur(); // Erreur
Ce code génère une erreur, car la variable
$couleur
n'existe pas dans la portée de la méthodeafficherCouleur()
.
Donc, pour accéder aux propriétés de la classe, je vais utiliser le mot clé $this
:
class Voiture {
public $couleur = "rouge";
public function afficherCouleur() {
print($this->couleur);
}
}
$maVoiture = new Voiture();
$maVoiture->afficherCouleur(); // Affiche : rouge
Dans cet exemple, $this
est utilisé pour accéder à la propriété $couleur
de l'instance de la classe Voiture
.
Test de mémorisation/compréhension
TP pour réfléchir et résoudre des problèmes
Objectif du TP : Créer une classe Fichier
qui utilise le mot clé this
pour manipuler les propriétés de l'objet.
Consignes :
- Dans votre répertoire "Documents" créez le répertoire
tp_classe_fichier
. - Dans ce répertoire créez le fichier
main.php
:<?php
// Utiliser la classe 'Fichier'
print("Utiliser la classe 'Fichier' \n\n"); - Testez le fonctionnement du fichier
main.php
:php main.php
- Créez une classe
Fichier
avec une propriété publique$chemin
. - Créez une méthode
setChemin($c)
qui assigne une valeur à la propriété$chemin
de l'objet. - Créez une méthode
getChemin()
qui retourne le chemin du fichier. - Créez une instance de la classe
Fichier
appelée :$fichier
. - Utilisez la méthode
setChemin()
pour définir le chemin du fichiermonFichier.txt
présent dans le dossier personnel de l'utilisateursio
:$fichier->setChemin("/home/sio/monFichier.txt");
- Utilisez la méthode
getChemin()
pour afficher le chemin du fichier :print($fichier->getChemin());
- Lancez l'exécution du fichier
main.php
:php main.php
Si tout va bien, l'exécution du fichier main.php
va afficher :
Utiliser la classe 'Fichier'
/home/sio/monFichier.txt
Une solution
Vous devez être connecté pour voir le contenu.