使用$ GLOBALS创建变量

时间:2009-12-05 14:27:36

标签: php frameworks global-variables

我目前正在开发一个php框架,在某些情况下,结构类似于ZendFramework。 它有MVC等。 我没有找到与我的问题相同的匹配。

我的“问题”是我有可变数量的类(模型,控制器),例如 http_handler。 现在我有那么多课程,我无法将它们全部设置为变量。

我可以使用$ GLOBALS设置$ variableVar吗?

foreach($classes as $class)
{   
    include_once($class . '.php');
    $GLOBALS[$class] = new $class;
}

这会创建一个可以通过整个代码访问的新变量吗? 例如:

//... code
$http_handler->sendRequest($someArgs);
//... code

1 个答案:

答案 0 :(得分:3)

它会,但您必须在方法的范围中导入全局变量:

function foo()
 {
  global $http_handler;
但是,有更好的解决方案。例如,查看singleton pattern

我问了一个关于如何组织所有这些课程的问题,除了使用单例模式之外,也许一些答案会给你额外的想法:here