[PHP] $this->

$this-> [PHP] - PHP - Programmation

Marsh Posté le 26-02-2004 à 13:06:41    

Voilà je suis en train d'essayer de comprendre un programme en php et l'expression $this-> revient tout le temps!!! Est-ce que ca a une signification particulière ?
j'ai du mal à me dire que c'est une variable anodine ?!?
 
Ex :
$this->ps_a[$i];
$this->ps_b[$i];
$this->ps_c[$i];
$this->ps_d[$i];
$this->ps_e[$i];
$this->ps_f[$i];
 
Par avance merci

Reply

Marsh Posté le 26-02-2004 à 13:06:41   

Reply

Marsh Posté le 26-02-2004 à 13:09:53    

dans une classe, $this désigne l'objet en cours.
tu l'utilise pour appeler une méthode ou un attribut de ton objet.

Reply

Marsh Posté le 26-02-2004 à 13:10:11    

je sais pas en PHP, mais en C++, this est un pointeur vers l'objet courant. donc je suppose que ça doit être employé en PHP dans un contexte de programmation objet (pour peu qu'on puisse faire de l'objet en PHP)
 
edit: [:benou_grilled]


Message édité par Harkonnen le 26-02-2004 à 13:10:37

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 26-02-2004 à 13:23:48    

ce qui est pénible, c'est que tu es obligé de l'employer pour que ça passe à l'interpréteur :/


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 26-02-2004 à 13:54:42    

drasche a écrit :

ce qui est pénible, c'est que tu es obligé de l'employer pour que ça passe à l'interpréteur :/


non, justement, c'est une bonne chose. Avec tous les gorets qui programment en php, forcer les bonnes pratiques de temps en temps n'est pas un luxe.

Reply

Marsh Posté le 26-02-2004 à 13:59:53    

c'est un point de vue [:spamafote]
mais ceci ne fait que renforcer l'image de langage amateur qui accompagne PHP :/


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 26-02-2004 à 14:01:30    

trollomètre spotted :o


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 26-02-2004 à 14:02:24    

c'était pas un troll :heink:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 26-02-2004 à 14:04:12    

drasche a écrit :

c'était pas un troll :heink:


juste un gnome :D

Reply

Marsh Posté le 26-02-2004 à 14:04:37    

merde, je me suis trompé de forum, ou plutot d'onglet dans Mozilla [:rofl]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 26-02-2004 à 14:04:37   

Reply

Marsh Posté le 26-02-2004 à 14:07:23    

après le trompage de la touche caps, voir de nickname quand tu sanctionnes (auto-ban :ange:), voilà que tu te trompes de forum, on n'est pas dans le jus :D


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 26-02-2004 à 14:17:19    

drasche a écrit :

après le trompage de la touche caps, voir de nickname quand tu sanctionnes (auto-ban :ange:), voilà que tu te trompes de forum, on n'est pas dans le jus :D


ça c'est pas ma faute, c'est l'interface de joce qui est pourrie :o


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 26-02-2004 à 14:21:41    

Harkonnen a écrit :

ça c'est pas ma faute, c'est l'interface de joce qui est pourrie :o


dans la série excuses bidons, t'es le digne poulain d'antp :o
dis plutôt que ta fenêtre était en tout petit dans un coin (pour pas que le boss te voie surfer) quand t'as voulu bannir un boulet et paf, Harkonnen se retrouvait sans pouvoir [:ddr555]


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 01-03-2004 à 16:52:48    

un petit up car je ne m'en suis toujours pas sorti ... personne pourrait m'expliquer clairement le fonctionnement de $this ? ou tout simplement son remplacement par une autre approche ?
Merci


Message édité par mirascheat le 01-03-2004 à 16:53:07
Reply

Marsh Posté le 01-03-2004 à 16:56:02    

en PHP, tu n'as pas d'autre approche, tu dois utiliser " $this-> " chaque fois que tu t'adresses à une variable ou une fonction de ta classe, depuis l'intérieur de ta classe.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 01-03-2004 à 16:57:57    

"this", en C++/Java/PHP, est la notation utilisée pour se pointer soi-même, à ceci près qu'en PHP, elle est obligatoire.
 
Donc, quand tu codes une classe, tu dois utiliser "this" pour référencer les variables et méthodes de la classe en question.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 01-03-2004 à 17:07:21    

argghhhh ...  
ma classe n'utilise pas de variable spécifique à cette classe mais pourtant il y a des "$this ->" ?!?

Reply

Marsh Posté le 01-03-2004 à 17:10:49    

tu dois bien utiliser des fonctions dans ta classe? :??:
 
sinon en fait je vois pas l'intérêt de faire une classe qui n'a pas de données :heink:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 01-03-2004 à 17:13:05    

oui j'ai des fonctions mais mes $this ne sont pas non plus de la forme $this->NomdelaFonction ...

Reply

Marsh Posté le 01-03-2004 à 17:22:32    

si ces fonctions ne sont pas précédées d'un this, c'est que ce sont des fonctions appelées à l'extérieur de la classe.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 01-03-2004 à 17:25:46    

Ce serait pas une variable interne à la classe, cad accessible à partir de n'importe quelle méthode de la classe?

Reply

Marsh Posté le 01-03-2004 à 17:26:06    

oui je suis d'accord mais est-ce que this peut appeler des variables extérieures à la classe ?

Reply

Marsh Posté le 01-03-2004 à 17:27:47    

En aucune façon.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 01-03-2004 à 17:30:19    

et si je fais appel a d'autre script php est-ce qu'il peut y avoir un genre d'heritage ?

Reply

Marsh Posté le 01-03-2004 à 17:33:57    

euh, me semble que oui, faudrait que je relise mes grimoires, ou fais une recherche dans google ;)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 01-03-2004 à 20:07:18    

bah, si ta classe hérite d'une autre classe (il y a extends l'autre classe à la déclaration), $this est utilisée pour "accéder aux éléments de la classe mère", puisqu'ils sont hérités ;)


Message édité par dropsy le 01-03-2004 à 20:07:37
Reply

Marsh Posté le 01-03-2004 à 21:37:35    

drasche a écrit :

après le trompage de la touche caps, voir de nickname quand tu sanctionnes (auto-ban :ange:), voilà que tu te trompes de forum, on n'est pas dans le jus :D

normalement on ne peut pas s'autobannir ... a moins que joce ait changé le systeme
 
car un modo ne peut pas bannir un autre modo, alors comme lui meme est modo ...

Reply

Marsh Posté le 01-03-2004 à 21:39:09    

dropsy a écrit :

bah, si ta classe hérite d'une autre classe (il y a extends l'autre classe à la déclaration), $this est utilisée pour "accéder aux éléments de la classe mère", puisqu'ils sont hérités ;)

this indique l'objet courant, donc tous les attributs, que ce soit de la classe ou de sa mere

Reply

Marsh Posté le 01-03-2004 à 22:16:20    

skylight a écrit :

normalement on ne peut pas s'autobannir ... a moins que joce ait changé le systeme
 
car un modo ne peut pas bannir un autre modo, alors comme lui meme est modo ...


dire que Joce a corrigé ce bug depuis que Harko s'est autobanni me paraît plus crédible :o ( [:ddr555])


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed