我正在寻找保证静态变量不存储在
PHP请求之间.以下问题:
PHP static variables across multiple .php pages
Does static variables in php persist across the requests?
Static variables across sessions
明确地说它们不是,但它们更多地是在提供维持状态的方式而不是对预期行为的具体讨论.
function myfunc() { static $a=0; print $a++; } for ($i=0;$i<10;$i++) myfunc();
然后每次运行它都会得到0123456789的输出.我对PHP的直觉/理解让我非常肯定必须如此.
在我自己的实验中,我已经将一个(preforking)apache关闭到一个子节点,以确保在请求之间不记住该变量.正如我所料,请求之间不会记住它.但这只是PHP运行的一种情况.
我正在寻找的是:
指向官方文档的链接,指出这是预期的行为,不会改变. PHP documentation的相关部分没有明确提及(除了评论中).
或者,在诸如Web服务器或性能增强的PHP框架之类的请求中记住静态变量的示例,其中可能不会清除静态变量以提高请求之间的速度.