在类中获取全局变量的最佳方法是什么?
我知道我可以很容易地使用“global $ tmpVar;”在一个类函数中,但有一种方法可以对变量进行全局化,因此它可用于类中的所有函数,而不需要丑陋的全局$ tmpVar;在每个功能里面?
理想情况下,在“类tmpClass(){”声明很好之后,但不确定这是否可行。
答案 0 :(得分:2)
您可以使用Static类变量。这些变量与类实例无关,但与类定义有关。
class myClass {
public static $classGlobal = "Default Value" ;
public function doStuff($inVar) {
myClass::$classGlobal = $inVar ;
}
}
echo myClass::$classGlobal."\n" ;
$instance = new myClass() ;
echo myClass::$classGlobal."\n" ;
$instance->doStuff("New Value") ;
echo myClass::$classGlobal."\n" ;
输出:
Default Value
Default Value
New Value