php Singleton类实例将在多个会话中保留吗?

问题描述

| 举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来做到这一点吗? 用户1:
<?php
$test = Example::singleton();
$test->visits++;
?>
用户2:
<?php
$test = Example::singleton();
$test->visits++;
?>
$visits
的值是1还是2?     

解决方法

        否。每个请求都会产生一个新进程。他们之间没有生存之道。 您可以使用会话保留状态,会话本质上是基于磁盘的序列化机制。他们自己的会话依靠cookie来识别请求之间的数据(但是它本身的数据存储在服务器上的文件中)。因此,它们对于用户而言是本地的,不适合您的需求。在PHP应用程序中存储此类数据的标准方法是在数据库中。     ,        两种情况下,
$visits
均为1。 单例是根据请求而不是机器/主机。每个请求将有其自己的实例。 我认为没有某种类型的磁盘存储/数据库,您就无法计算一页的点击数。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...