[POO] Reference dynamique à $this
Bonjour,
je développe un code qui doit me permettre selon un fichier de configuration d'appeler dynamiquement une méthode d'un objet PHP.
Peu importe le fichier, en gros, je passe un nom de variable et le nom d'une méthode, et eventuellement une liste de parametres.
Tout fonctionne très bien, sauf pour deux cas
1- la pseudo variable this. Le code suivant (pour test), ne fonctionne pas et retourne "unknown this variable" :
Code:
1 2 3
|
$a = "this"; // également essayé avec $a="$this"
$b = $$a; // atendu: $a = $this |
l'erreur est provoquée dès l'instruction 2 - En utilisant call_user_func, je n'arrive pas à passer autre chose qu'une référence d'objet. Par exemple si j'ai besoin de passer comme objet
Code:
$this->getRequest()
qui retourne un objet, ca ne fonctionne pas. Le code serait :
Code:
1 2 3
| $obj = new Request();
$a = "obj->getRequest"; // essayé avec "$this->getRequest()"
$b = $$a; // erreur |
Quelqu'un a-t-il une solution ?
Pour le moment ma seule solution est d'utiliser la fonction PHP "eval", mais je ne la trouve pas très adaptée à mon cas.
Merci !