php – 函数值内的全局变量为NULL
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 函数值内的全局变量为NULL,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含902字,纯文字阅读大概需要2分钟。
内容图文
![php – 函数值内的全局变量为NULL](/upload/InfoBanner/zyjiaocheng/764/418ffb5e22424c7ca5432b4aba809836.jpg)
在我的代码中,我有一个初始化MySQLi类的文件.
档案a:
$db = new Database(); //MySQLi class
无论如何,有一个包含此数据库类的文件.该文件还包括其中声明了函数的其他文件.我正在使用全球联系$db
文件b:
function xy(){
global $db;
$sql = "..."
return $db->getArray($sql);
}
TESTFILE:
require "file_a.php";
require "file_b.php";
require_once "PHPUnit/Framework/TestCase.php";
class testProblemStatistics extends PHPUnit_Framework_TestCase {
testArray(){
$this->assertTrue(array_key_exists('xy', $this->xy())
}
}
我明白了:
致命错误:在非对象上调用成员函数getArray()
我调查过:
var_dump($db);
function xy(){
global $db;
var_dump($db);
...
}
第一个转储给了我MySQLi对象,
第二个转储给了我NULL
file_b中的全局变量有问题.
附加信息:我正在使用PHPUnit,我在命令提示符下运行它.在普通浏览器中一切正常.
解决方法:
解决方案是将数据库类硬编码到$GLOBALS数组中.
$GLOBALS['db'] = $db;
添加它作为PHPUnit引导程序对我来说很好.它有点hacky,应该用在测试用例中.
内容总结
以上是互联网集市为您收集整理的php – 函数值内的全局变量为NULL全部内容,希望文章能够帮你解决php – 函数值内的全局变量为NULL所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。