• php 全局变量问题


    当在函数里通过require_once包含另外php文件。

    而另外php文件包含了另外php文件,而该php文件的函数需要另外的php文件。

    例子: 

    installment_maintenance_submit.php文件里downloadZip函数在内部包含了rebootTipsFunc.php

    function  downloadZip(){
        
        require_once realpath(dirname(__FILE__)."/lib/rebootTipsFunc.php");
        $downloadUrl = getWebUrlInfo("download_zutai_url");
    
    }

    rebootTipsFunc.php文件

    require_once realpath(dirname(__FILE__)."/../include/global_config.php");
    require_once realpath(dirname(__FILE__)."/../include/web_auth_paramsdesc.php");
    require_once realpath(dirname(__FILE__)."/../include/default_web_config.php");
    require_once realpath(dirname(__FILE__)."/../include/global_feature_config.php");
    
    
    function getWebUrlInfo($key){
    
      // echo $key;
    
       global $g_cfgWebArr;
       // print_r($g_cfgWebArr);
       // global $g_web_paramsdesc;
       global $g_default_cfgWebArr;
      // print_r($g_default_cfgWebArr);
      if(array_key_exists($key,$g_cfgWebArr)){
          return $g_cfgWebArr[$key];
      }else{
           return $g_default_cfgWebArr[$key];
      }
    }

    函数 getWebUrlInfo 里调用了global_config.php文件里的数组$g_cfgWebArr,在函数里用global里用全局变量指定。

    用上述方法指定后,会出现在函数里getWebUrlInfo的$g_cfgWebArr变量无法被识别的情况。

    将installment_maintenance_submit.php里require_once放在函数外部时,则可以正常使用。变量$g_cfgWebArr也可以正常使用

     require_once realpath(dirname(__FILE__)."/lib/rebootTipsFunc.php");
    function  downloadZip(){
    
        $downloadUrl = getWebUrlInfo("download_zutai_url");
    
    }
  • 相关阅读:
    不要给技术人员做绩效
    软件开发项目的风险
    cxgrid在当前View插入记录
    cxgrid根据单元的值设置样式
    有锐捷客户端的情况下用虚拟机照样上网
    cxgrid在内置右键菜单的后面增加菜单项
    cxgrid按条件计算合计值
    cxgrid在内置右键菜单的后面增加菜单项
    微信小程序弹窗 Mr
    虚拟环境的创建 Mr
  • 原文地址:https://www.cnblogs.com/hzijone/p/6297787.html
Copyright © 2020-2023  润新知