A voir également:
- $This php
- Alert php ✓ - Forum PHP
- Easy php - Télécharger - Divers Web & Internet
- Retour a la ligne php ✓ - Forum PHP
- You don't have permission to access this resource ✓ - Forum Réseaux sociaux
- Php natif - Forum PHP
2 réponses
1- Dans une classe, quand tu as une méthode qui a besoin d'accéder aux propriétés de cette classe pour lui attribuer une valeur par exemple, alors il faut utiliser le mot clé $this. Prend ça comme une convention.
-> $this permet donc à une méthode (entre autre) d'accéder aux propriétés de ta classe.
2- Maintenant pour être dans le concret lorsque tu instancies ta classe pour en faire un objet, tu peux remplacer mentalement le mot clé $this par le nom de l'objet que tu viens de créer pour que se soit plus clair pour toi, et parceque réellement $this représente l'objet instancié.
Je m'explique: imagines une classe :
class Personnage()
{
public $nom;
public $parler;
// Je viens de définir 2 propriétés qui définiront mon futur objet Personnage
public function donnerUnNom($nomPerso)
{
$this->nom = $nomPerso;
}
// Le contenu de cette méthode veux dire que lorsque tu l'appelles, elle donne une valeur (correspondant à l'argument que tu lui a passé) à la propriété $nom, de l'objet Personnage.
// Exemple :
// $toto = new Personnage();
// je veux donner un nom à toto :
// $toto->donnerUnNom('Des Blagues');
// C'est là ou tu peux remplacer mentalement le mot clé $this par $toto. Ce qui donnerai : "Le nom de $toto est égal à l'argument $nomPerso de la méthode donnerUnNom() qui vaut Des Blagues.
// Ici la propriété $nom vaut donc Des Blagues.
// Maintenant si tu veux afficher le nom de ton personnage, il faudrait que tu crée une méthode qui te permette d'afficher le nom ex :
public function afficherNom()
{
echo $this->nom;
// ici tu peux dire mentalement "affiche le nom de l'objet $toto"
}
}
//Ici on est en dehors de la classe. Si je reprend mon exemple plus haut cela donne :
$toto = new Personnage();
// on instancie la classe pour en faire un objet $toto.
$toto->donnerUnNom('Des Blagues');
// avec l'objet créé, on appelle la méthode qui sert à donner un nom à son personnage.
$toto->afficherNom();
// ici on appelle la méthode qui affichera le nom(correspondant à la propriété $nom) de l'objet, donc : Des Blagues
Voilà j'espère t'avoir éclairé ;)
-> $this permet donc à une méthode (entre autre) d'accéder aux propriétés de ta classe.
2- Maintenant pour être dans le concret lorsque tu instancies ta classe pour en faire un objet, tu peux remplacer mentalement le mot clé $this par le nom de l'objet que tu viens de créer pour que se soit plus clair pour toi, et parceque réellement $this représente l'objet instancié.
Je m'explique: imagines une classe :
class Personnage()
{
public $nom;
public $parler;
// Je viens de définir 2 propriétés qui définiront mon futur objet Personnage
public function donnerUnNom($nomPerso)
{
$this->nom = $nomPerso;
}
// Le contenu de cette méthode veux dire que lorsque tu l'appelles, elle donne une valeur (correspondant à l'argument que tu lui a passé) à la propriété $nom, de l'objet Personnage.
// Exemple :
// $toto = new Personnage();
// je veux donner un nom à toto :
// $toto->donnerUnNom('Des Blagues');
// C'est là ou tu peux remplacer mentalement le mot clé $this par $toto. Ce qui donnerai : "Le nom de $toto est égal à l'argument $nomPerso de la méthode donnerUnNom() qui vaut Des Blagues.
// Ici la propriété $nom vaut donc Des Blagues.
// Maintenant si tu veux afficher le nom de ton personnage, il faudrait que tu crée une méthode qui te permette d'afficher le nom ex :
public function afficherNom()
{
echo $this->nom;
// ici tu peux dire mentalement "affiche le nom de l'objet $toto"
}
}
//Ici on est en dehors de la classe. Si je reprend mon exemple plus haut cela donne :
$toto = new Personnage();
// on instancie la classe pour en faire un objet $toto.
$toto->donnerUnNom('Des Blagues');
// avec l'objet créé, on appelle la méthode qui sert à donner un nom à son personnage.
$toto->afficherNom();
// ici on appelle la méthode qui affichera le nom(correspondant à la propriété $nom) de l'objet, donc : Des Blagues
Voilà j'espère t'avoir éclairé ;)