PHP 和并发中静态成员的范围

Bra*_*rad 5 php concurrency static scope member

我的应用程序中声明了一个类,该类具有一个私有静态成员,如下所示:

class SomeClass{
private static myMember =  array(); 

public static getterFunction(){}
public static setterFunction(){}

}
Run Code Online (Sandbox Code Playgroud)

我的问题/担忧是多个请求(我想像Java中的线程)将能够修改这个静态成员。我对 php 作用域和静态成员的理解是,它们位于请求作用域中,并且为每个新请求创建一个新变量,并在请求完成后销毁。也就是说,这将是一件很难测试的事情(至少我想不出一个简单的方法),所以我宁愿安全也不愿后悔。

我的评估正确吗?我读过的 PHP 文档在细节方面非常糟糕,所以我还无法权威地回答......

dec*_*eze 5

没有数据,none,在 PHP 脚本的不同实例之间是持久的或共享的,除非您明确地这样做(例如使用会话、数据库、文件、共享内存)。每个 PHP 实例都是它自己的东西,每个新请求都会导致 Web 服务器启动一个单独的实例。

所以是的,你是对的。