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

时间:2017-05-28 17:47:47

标签: php static backend slim

在开发PHP后端时,我决定使用静态变量来保存登录用户。 如果我没有弄错,只有每次调用后端都会创建该后端的新实例时,这才能正常工作。否则,当两个调用重叠时,可能会覆盖已登录的用户,从而产生错误的结果。

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

1 个答案:

答案 0 :(得分:2)

是的,不。它确实“创建了一个新的实例”,因为静态变量不会在两者之间保持不变,而事实并非如此,因为它实际上并不是OOP上下文中的“实例”本身。

static关键字指的是用于运行的精确脚本的静态变量

一旦发送响应,PHP就会忘记所有内容。每次PHP收到请求时,都会重新创建环境,两次运行之间不会保留任何内容。

然而,为用户使用静态似乎是一个坏主意。这种方式过于宽泛,但您应该查看dependency injectionmvc principles