首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP中的全局变量被认为是不好的做法吗?如果有,原因何在?

PHP中的全局变量被认为是不好的做法吗?如果有,原因何在?
EN

Stack Overflow用户
提问于 2009-10-13 01:19:30
回答 1查看 38.2K关注 0票数 89
代码语言:javascript
复制
function foo () {
    global $var;
    // rest of code
}

在我的小PHP项目中,我通常采用过程化的方式。我通常有一个包含系统配置的变量,当我需要在函数中访问这个变量时,我执行global $var;

这是不是很糟糕的做法?

EN

回答 1

Stack Overflow用户

发布于 2009-10-13 11:34:21

如果不小心使用全局变量,可能会使问题更难发现。假设你请求一个php脚本,你得到一个警告,说你正试图访问一个在某些函数中不存在的数组索引。

如果您试图访问的数组是函数的本地数组,则检查函数以查看是否在那里犯了错误。这可能是函数的输入有问题,因此您需要检查调用函数的位置。

但如果该数组是全局的,则需要检查使用该全局变量的所有位置,不仅如此,还必须弄清楚这些对全局变量的引用的访问顺序。

如果在一段代码中有一个全局变量,就很难隔离该代码的功能。你为什么要隔离功能呢?因此,您可以测试它并在其他地方重用它。如果你有一些代码,你不需要测试,也不需要重用,那么使用全局变量是可以的。

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1557787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档