$this-> [PHP] - PHP - Programmation
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.
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:
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
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.
Marsh Posté le 26-02-2004 à 13:59:53
c'est un point de vue
mais ceci ne fait que renforcer l'image de langage amateur qui accompagne PHP
Marsh Posté le 26-02-2004 à 14:01:30
trollomètre spotted
Marsh Posté le 26-02-2004 à 14:02:24
c'était pas un troll
Marsh Posté le 26-02-2004 à 14:04:37
merde, je me suis trompé de forum, ou plutot d'onglet dans Mozilla
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 ), voilà que tu te trompes de forum, on n'est pas dans le jus
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 ), voilà que tu te trompes de forum, on n'est pas dans le jus |
ça c'est pas ma faute, c'est l'interface de joce qui est pourrie
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 |
dans la série excuses bidons, t'es le digne poulain d'antp
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
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
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.
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.
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 ->" ?!?
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
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 ...
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.
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?
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 ?
Marsh Posté le 01-03-2004 à 17:27:47
En aucune façon.
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 ?
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
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
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 ), voilà que tu te trompes de forum, on n'est pas dans le jus |
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 ...
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
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 |
dire que Joce a corrigé ce bug depuis que Harko s'est autobanni me paraît plus crédible ( )
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