调用后端是否创建该后端的新实例?

问题描述:

开发PHP后端时,我决定使用一个静态变量来保存登录的用户。 如果我没有弄错,只有在每个对后端的调用都创建了该后端的新实例时才能使用。否则,当两个呼叫重叠时,登录的用户可能被覆盖,产生错误的结果。调用后端是否创建该后端的新实例?

这很难找到答案,所以我试着编写一个单元测试,它只是检查当后端调用完成时静态'登录用户'变量是否仍然存在。这表明变量确实是空的。只是为了确定我决定在这里提出这个问题。

是的,没有。它确实“创建了一个新实例”,因为静态变量在两者之间并没有被持久化,而且它没有,因为它本身并不是一个“实例”,就像在OOP上下文中那样。

静态关键字是指针对该精确脚本运行的静态变量

PHP一旦发送响应就会忘记一切。每次PHP收到一个请求时,都会重新创建环境,两次运行之间没有任何东西会持续存在。


然而,对用户使用静态似乎是一个坏主意。这太宽泛了,但你应该看看dependency injectionmvc principles

+1

谢谢,正是我需要知道的! – M0CH1R0N