|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre expérimenté
![]() Inscription : septembre 2006 Messages : 685 ![]() |
Bonjour à tous,
J'ai un petit problème que je ne sais résoudre... Je possède une méthode d'une classe qui contient elle même une fonction de callback utile uniquement à cette méthode. Un exemple simplifié : Code :
Je ne peux passer $this->attr dans les arguments de maFonction(), à moins qu'il n'y est un moyen de le faire que je ne connaisse pas. Je ne peux mettre $this->attr en global, php me jette un fatal error, ce qui est complètement logique. Ma question donc comment faire pour que maFonction() puisse accéder à $this ? |
||
|
|
00
|
|
|
#2 | ||
|
Membre expérimenté
![]() Inscription : mai 2002 Messages : 673 ![]() |
En passant a MaFonction() une référence vers l'objet de base...
Ca marche ça ? Code :
|
||
|
|
00
|
|
|
#3 |
|
Membre expérimenté
![]() Inscription : septembre 2006 Messages : 685 ![]() |
Non justement, on ne peut pas faire ça.
Parse error: syntax error, unexpected T_VARIABLE |
|
|
00
|
|
|
#4 | ||
|
Membre expérimenté
![]() Inscription : mai 2002 Messages : 673 ![]() |
bon bhé faut enlever le = $this de la déclaration de la fonction, et le passer a la main quand tu appels ta methode...
Code :
|
||
|
|
00
|
|
|
#5 |
|
Membre expérimenté
![]() Inscription : septembre 2006 Messages : 685 ![]() |
Oui merci, sauf que j'ai besoin d'utiliser cette fonction dans mon preg_replace_callback()
J'aurais pu le faire avec call_user_func() mais cela ne va pas car je n'ai plus la variable correspondant à mon pattern. si je fais Code :
preg_replace_callback('lemasque', call_user_func('maFonction', $this->attr), $sujet); |
|
|
00
|
|
|
#6 | ||
![]() ![]() Inscription : juin 2003 Messages : 4 893 ![]() |
essaye ça :
Code :
__________________
Modérateur PHP |
||
|
|
00
|
|
|
#7 |
|
Membre expérimenté
![]() Inscription : septembre 2006 Messages : 685 ![]() |
Oui, comme ça c'est possible, je le savais, mais je ne voulais pas déclarer cette fonction comme méthode de ma classe.
Quand même étrange que l'on ne puisse pas passer $this à une fonction interne à une méthode. |
|
|
00
|
|
|
#8 | |
![]() ![]() Alain Sahli Ingénieur développement logiciels Inscription : décembre 2004 Messages : 1 086 ![]() |
Citation:
__________________
Blog - Mon espace developpez - Vous voulez un site internet ? eZ Publish Certified developer |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com