是否在请求之间以某种方式共享PHP单例类?

我在所有PHP文件中使用单例模式.

会不会导致用户在网站上的操作与其他用户的操作发生冲突?

例如,当应用程序上线并且我们同时在站点上有多个用户时,通过调用相同的PHP类(在幕后)来执行类似的操作,因为singleton会阻止一个类的多个实例并仅返回单个实例.

例如我有一个名为Search.PHP的类,它是一个单例类.此类处理来自网站的所有搜索查询.如果多个用户同时在站点上执行搜索,则由于它们只是可以创建的Search类的单个实例,因此他们的操作会彼此冲突.

非常感谢你花时间陪伴.

解决方法:

最简洁的答案是不.

每个页面请求都作为一个唯一的实例处理,并且将每个用户的唯一请求绑定到会话cookie中.尝试将PHP视为一个应用程序,该应用程序在您调用脚本时启动,并在脚本结束时终止.它不维护任何状态,并且固有地不知道任何其他PHP实例.

单例模式只是您设计类的一种方式,您可以在其中在代码中的任何地方(例如全局)调用它,而不必担心它是否已被实例化以及是否希望将其持久化在内存中.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...