Class $\u POST和静态变量

Class $\u POST和静态变量,class,post,static,Class,Post,Static,我试图确保一个类只实例化一次。在我的函数中有一个静态变量。当$\u POST接收到一个值时,它将使用接收到的值调用函数。为什么每次都会覆盖此静态变量$aClass总是空的。通过HTML的$u POST调用是否重置了所有内容 function RunFunctions($inputStr) { static $aClass; var_dump($aClass); if (!isset($aClass)) { $aClass = new Create

我试图确保一个类只实例化一次。在我的函数中有一个静态变量。当$\u POST接收到一个值时,它将使用接收到的值调用函数。为什么每次都会覆盖此静态变量$aClass总是空的。通过HTML的$u POST调用是否重置了所有内容

function RunFunctions($inputStr)
{
    static $aClass;
    var_dump($aClass);

    if (!isset($aClass))
    {
        $aClass = new CreateNewClass();
        $aClass->SetNumber($inputStr); 
    }
}

您没有向我们提供有关PHP设置的全部详细信息,但大多数PHP环境都是在每次请求时从头开始的。这意味着整个程序都是从头开始初始化的,每次都包括静态变量

如果您没有使用优化器,那么PHP代码本身也可以针对每个请求从头开始编译

许多PHP请求由单独的系统进程处理,这意味着即使数据可以在请求之间共享,也只能用于由同一进程处理的请求


如果您想在请求之间共享数据,请考虑将其存储在用户浏览器自动为每个请求提供的cookie中,或者将其存储在本地数据库中。这也是我的印象。我甚至将这个类定义为静态的,并且每次都重新初始化它。为了创建一个“永久性”变量,我按照您建议的思路进行了思考。