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"); }
php 全局变量问题的更多相关文章
- cookies如何成为全局变量以及设置,删除,获取
(一)cookie机制将信息存储于用户硬盘,因此可以作为全局变量 (1)保存用户登录状态.例如将用户id存储于一个cookie内,这样当用户下次访问该页面时就不需要重新登录了,现在很多论坛和社区都提供 ...
- php内核分析(三)-全局变量
这里阅读的php版本为PHP-7.1.0 RC3,阅读代码的平台为linux CG CG是从全局的compiler_global中获取属性值,里面存储的就是编译过程使用到的全局变量. struct _ ...
- 全局变量:global与$GLOBALS的区别和使用
今天在写框架的时候想把SaeMySQL初始化之后作为全局变量使用.但是后来发现PHP中的全局变量和Java或者OC中的全局变量还是有较大区别的.下面记录一下php里面的global的使用相关注意事项. ...
- 针对JS经典题型对全局变量及局部变量的理解浅谈
第一次写博,还蛮激动... 看到了三题经典题型,就我目前的认识对此题进行总结.如有错误,敬请指正 首先,我们先明确一下JS引擎的工作步骤: js引擎工作分为两步: 1.将这个js中的变量和函数声明保存 ...
- kettle中全局变量的设置
设置全局变量. 找到.properties文件: 在文件中设置值: 在kettle中新建一个job(不用做任何设置): 转换中获取便元的设置: 重启kettle的执行结果:
- 记录PHP的超全局变量$_SERVER
$_SERVER是PHP中十分实用的超全局变量,在开发可移植的网站的时候会变得很有用. 下面我记录一下我自己常用到的几个变量 1.$_SERVER['SERVER_NAME']:记录了网站的域名. 2 ...
- 浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法(转载)
在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们发现程序执行完后并没有获取到我们想要的值,这时很有可能是因为你用的是ajax的异步调用async:t ...
- C#-WebForm-★内置对象简介★Request-获取请求对象、Response相应请求对象、Session全局变量(私有)、Cookie全局变量(私有)、Application全局公共变量、ViewState
内置对象: 1.Request - 获取请求对象 用法:接收传值 protected void Page_Load(object sender, EventArgs e) { TextBox1.Tex ...
- 全局变量都是window对象的属性
var x = "haha"; var test = function(){ alert(this.x); } 上述,则会弹出 haha的值. 因为在JavaScript的变量作 ...
- PHP中的全局变量global和$GLOBALS的区别
1.global Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件. 但是在函数体内定义的global变量,函数体 ...
随机推荐
- Bootstrap缩略图
前面的话 缩略图在网站中最常用的地方就是产品列表页面,一行显示几张图片,有的在图片底部(左侧或右侧)带有标题.描述等信息.Bootstrap框架将这一部独立成一个模块组件,本文将详细介绍Bootstr ...
- MySQL Binlog详解
MySQL Binlog详解 Mysql的binlog日志作用是用来记录mysql内部增删改查等对mysql数据库有更新的内容的记录(对数据库的改动),对数据库的查询select或show等不会被bi ...
- VMware配置Linux中APPache服务器
[软件] VMware SecureCRT [镜像文件] Centos6.8 APPache软件包 [步骤] 1.将所需文件通过SCRT传入到虚拟机中 2.挂载镜像 2.1 将镜像挂载到mn ...
- Codeforces Round #440 (Div. 2) A,B,C
A. Search for Pretty Integers time limit per test 1 second memory limit per test 256 megabytes input ...
- apache 限制连接并发数和下载速度
apache 限制并发数 需要安装:mod_limitipconn模块 安装方法:yum install mod_limitipconn 安装完成后: 检查 Apache 模块目录,看是否含有 mod ...
- 学习Spring Boot:(二十)使用 MongoDB
前言 MongoDB 1 是可以应用于各种规模的企业.各个行业以及各类应用程序的开源数据库.基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.Mongo ...
- 【转】#pragma pack(push,1)与#pragma pack(1)的区别
这是给编译器用的参数设置,有关结构体字节对齐方式设置, #pragma pack是指定数据在内存中的对齐方式. #pragma pack (n) 作用:C编译器将按照n个字节对 ...
- linux-shell数据重定向详细分析
在了解重定向之前,我们先来看看linux 的文件描述符.linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写 ...
- Linux中禁用命令历史记录
关闭history记录功能 set +o history 打开history记录功能 set -o history 清空记录 history -c 记录被清空,重新登录后恢复. rm -f $HOME ...
- 【POJ1187】陨石的秘密
题目大意: 定义一个串:只含有 '( )','[ ]','{ }',3种(6个)字符. 定义 SS 串: 空串是SS表达式. 若A是SS表达式,且A串中不含有中括号和大括号,则(A)是SS表达式. 若 ...