gpt4 book ai didi

PHP静态变量内存使用

转载 作者:可可西里 更新时间:2023-10-31 22:45:51 26 4
gpt4 key购买 nike

一段时间以来,我一直在想静态变量在内存使用方面是如何工作的,是否应该真正考虑到这一点?

我知道静态变量只会占用一个内存区域,与类本身有多少个实例无关。所以从这个意义上说,使用静态变量来明智地消耗内存也应该是明智的,对吧?但是我从来没有偶然发现有人谈论静态变量的内存使用情况(只是你可以与不同的实例共享数据)。

例如:

class Something () {
static $DB = null;
__construct ($DB) {
$this->DB = $DB;
}
}

如果我创建这个类的 10 个实例,那么它会产生比非静态 $DB 变量更少的内存使用,对吧?

如果是这样,影响这么小,真的不重要吗?

最佳答案

and should that even be really considered?

不,出于这个原因,您不应该担心 static

您必须担心 static 的使用的原因是您不能再对代码进行单元测试,并且您将类和代码紧密耦合到 Something::DB(即 Something 类)并且您正在处理全局状态。

另请查看我之前关于如何处理这些“全局”实例的回答:Which is the best practice to access config inside a function?

关于PHP静态变量内存使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11646816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com