Class $\u POST和静态变量
我试图确保一个类只实例化一次。在我的函数中有一个静态变量。当$\u POST接收到一个值时,它将使用接收到的值调用函数。为什么每次都会覆盖此静态变量$aClass总是空的。通过HTML的$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
function RunFunctions($inputStr)
{
static $aClass;
var_dump($aClass);
if (!isset($aClass))
{
$aClass = new CreateNewClass();
$aClass->SetNumber($inputStr);
}
}
您没有向我们提供有关PHP设置的全部详细信息,但大多数PHP环境都是在每次请求时从头开始的。这意味着整个程序都是从头开始初始化的,每次都包括静态变量 如果您没有使用优化器,那么PHP代码本身也可以针对每个请求从头开始编译 许多PHP请求由单独的系统进程处理,这意味着即使数据可以在请求之间共享,也只能用于由同一进程处理的请求
如果您想在请求之间共享数据,请考虑将其存储在用户浏览器自动为每个请求提供的cookie中,或者将其存储在本地数据库中。这也是我的印象。我甚至将这个类定义为静态的,并且每次都重新初始化它。为了创建一个“永久性”变量,我按照您建议的思路进行了思考。