PHP如何管理静态和全局变量?

时间:2018-05-30 18:29:54

标签: php caching static global memoization

我试图了解为什么在进程生命周期内应该缓存在内存中的全局值偶尔会被重置。

特别是这是一个方法调用的结果,它检索并返回一个小的JSON对象 - 我试图通过将该值存储在全局中来记住这个调用,这似乎在大多数情况下都有效。但正如我所提到的,它时不时地被重置。

PHP会重置静态变量还是全局变量? This blogpost提到了一个关于执行周期和静态重置作为副作用的事情。这是准确的吗?

1 个答案:

答案 0 :(得分:0)

我想我理解你的问题。 所以我会尽力回答:

从您提供的那篇文章中可以理解的关键词是,您声明为静态的变量(全局变量)仅对"当前执行周期"有效。意味着如果另一个进程正在执行该脚本,则脚本不会具有相同的声明的静态全局变量,它们将完全重置并且#34;。因此,通常当请求进入Web服务器时,Web服务器会在单独的进程上提供PHP文件。至于我的理解PHP"重置"仅在脚本完全执行后才会出现全局静态变量,而不是偶尔在运行时。

希望能回答你的问题