2010-03-24 2 views
0

Comment obtenir toutes les variables globales définies dans une fonction de classe?get_defined_vars() dans une classe

Lorsque j'appelle la fonction get_defined_vars() à l'intérieur d'une méthode de classe, je n'obtiens qu'un objet vide.

+0

duplication possible de [Définir des variables en dehors de la classe PHP] (http://stackoverflow.com/questions/2505735/define-variables-outside-the-php-class) – hakre

Répondre

0

Peut-être que vous pouvez essayer get_class_vars()?

+0

désolé peut-être que j'avais expliqué mal, je voulais dire le grand site vars, comme si get_defined_vars() était appelé dans le script principal. – markcial

+0

Je ne suis pas conscient de cela étant possible, parce que chaque fonction/méthode fait sa propre portée. get_defined_vars() renvoie les variables définies dans votre méthode de classe, si vous en avez, mais cela ne vous aide pas. – jholster

1

Utilisez get_class_vars(__CLASS__) si vous voulez que les variables prédéfinies & valeurs (les valeurs définies et fixées par défaut avant un objet initialisé).

Utilisez get_object_vars($this) si vous voulez toutes les variables (variables d'instance), y compris celles qui sont créées temporairement pour un objet particulier lors de l'exécution de n'importe quelle méthode de la classe. Je sais que ce ne sont pas vraiment les choses dont vous avez besoin. Son $GLOBALS dont vous avez besoin vous a répondu. Mais je viens de donner ces méthodes pour votre référence afin que cela puisse être utile à l'avenir.

Questions connexes