代码之家  ›  专栏  ›  技术社区  ›  Julius F

使用$globals创建变量

  •  1
  • Julius F  · 技术社区  · 15 年前

    我目前正在开发一个PHP框架,在某些情况下,它的结构类似于ZendFramework。 它具有MVC等。 我没有发现任何与我的问题相同的地方。

    我的“问题”是我有很多类(模型、控制器),例如 HTTPH处理程序。 现在我有那么多的类,我不能手动地将它们全部设置为变量。

    我可以用$globals设置$variablevar吗?

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

    这是否创建了一个可以通过整个代码访问的新变量? 例子:

    //... code
    $http_handler->sendRequest($someArgs);
    //... code
    
    1 回复  |  直到 15 年前
        1
  •  3
  •   Community T.Woody    7 年前

    它会,但您必须在方法的作用域中导入全局变量:

    function foo()
     {
      global $http_handler;
    

    不过,还有更好的解决方案。退房 singleton pattern 例如。

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