包括php文件来自静态类方法

时间:2012-03-23 21:18:03

标签: php class static include

我有2个php文件。我无法从A的静态方法得到B的全局变量:

a.php只会

class c_A
  { public static function f_A()
      { include_once( "B.php" ) ;
        print f_B() ;
      }
  }
c_A::f_A( ); // only prints "B : "

B.php

$gvs = "global variable from B" ;

function f_B()
  { return "B : " . $GLOBALS[ "gvs" ] ;
  } 

1 个答案:

答案 0 :(得分:1)

$GLOBALS[ "gvs" ]为空,因为您在函数内部调用了B.php。因此$gvs变量不会声明为全局变量。如果您在B.php课外加A.php,您将获得结果:

<强> a.php只会

include_once( "B.php" ) ;
class c_A
  { public static function f_A()
      { 
        print f_B() ;
      }
  }
c_A::f_A( ); // will prints "B : global variable from B"