Page 1 sur 1

$this

Posté : 25 juin 2008, 02:16
par thewind1
Bonjour,

J'aimerai en savoir plus "$this" sur sa porté.
$this peut être utiliser avec des variables ou des fonctions.
Mais peut-il permettre d'utiliser une ou des fonctions ou variables d'une autre class non parente ou parente ?
Et quel est la différence avec "::" ?

Je ne parviens pas à trouver plus d'information sur "$this" pour PHP4/5, quelqu'un aurait-il un lien ?

Je vous remercie par avance pour le(s) information(s) :-)))

Posté : 25 juin 2008, 08:21
par Ryle
Une petite recherche et un peu de lecture :
:arrow: http://www.phpfrance.com/forums/voir_re ... php#250655

$this fait référence à l'instance d'une classe, il ne peut donc être utilisé que dans une classe. Si une classe parente fait appel à $this, la méthode sera hérité par la classe fille et $this fera donc bien référence à l'instance de l'objet courrant (et pas de son père, bien qu'il puisse en utiliser le sméthodes et attributs)

$this

Posté : 25 juin 2008, 09:51
par thewind1
par exemple avec les sessions pour la sauvegarde de certaines ressources : "__sleep()" et "__wakup()"
<?php
class maBase {
function __construct()
{ $this->res = mysqli_connect('localhost','user','password','mabase');
}
function __sleep()
{ mysqli_close($this->res);
return array();
}
function __wakeup()
{
$this -> __construct();//ici l'emploi de $this avec notre méthode spéciale constructeur
}
}

//et notre instanciation où $this fait référence

$maNouvelleBase = new maBase();
...