Php全局变量迷失了

时间:2011-07-30 12:36:18

标签: php methods reference global

我必须使用全局变量(对象的引用)。根据某些情况,我必须加载不同的脚本才能使用。所有脚本都必须使用此$邮件程序。遗憾的是,为了做出这个决定,我使用了一个“忘记”全局变量的静态函数。

$mailer = new Mailer();
myFrameWork::loadModule();

...

public static function callModule()
{
include_other_module_depends_on_circumstances_etc
}

但是包含的脚本不知道$ mailer变量。没关系,因为它是一种方法。但我不想将此变量传递给callModule,我想要一个通用的解决方案。如果我刚刚使用:

$mailer = new Mailer();
include_other_module_depends_on_circumstances_etc

然后它就可以了。

1 个答案:

答案 0 :(得分:0)

我强烈建议不要使用静态方法进行此类工作;使用OOP很容易使用普通对象进行初始化和填充。

鉴于您的类myFrameWork是完全静态类,为什么不将该对象传递给另一个静态类并将其存储在私有静态变量中?这样您就不需要污染函数调用,仍然可以在需要时使用该值。