一个类中的get_defined_vars()

时间:2010-03-24 08:44:28

标签: php

如何在类函数中获取所有已定义的全局变量?

当我在类方法中调用get_defined_vars()函数时,我只得到一个空对象。

3 个答案:

答案 0 :(得分:11)

via => Define variables outside the PHP class

class Foo {
    function bar(){
       var_dump($GLOBALS);
    }
}
Foo::bar();

输出:

array(8) {
  ["GLOBALS"]=>
    array(8) {
      ["GLOBALS"]=>
      *RECURSION*
      ["_POST"]=>
      array(0) {
      }
/*snip*/         

答案 1 :(得分:1)

如果您需要预定义变量&,请使用get_class_vars(__CLASS__)值(在对象初始化之前定义并设置为默认值的那些值)。

如果您想要所有变量(实例变量),包括在执行该类的任何方法时为特定对象临时创建的变量,请使用get_object_vars($this)

我知道这些并不是你需要的东西。它需要你$GLOBALS的答案。但我只是提供了这些方法供您参考,以便将来有用。

答案 2 :(得分:0)

也许你可以试试get_class_vars()