例如,当应用程序上线并且我们同时在站点上有多个用户时,通过调用相同的PHP类(在幕后)来执行类似的操作,因为singleton会阻止一个类的多个实例并仅返回单个实例.
例如我有一个名为Search.PHP的类,它是一个单例类.此类处理来自网站的所有搜索查询.如果多个用户同时在站点上执行搜索,则由于它们只是可以创建的Search类的单个实例,因此他们的操作会彼此冲突.
非常感谢你花时间陪伴.
解决方法:
最简洁的答案是不.
每个页面请求都作为一个唯一的实例处理,并且将每个用户的唯一请求绑定到会话cookie中.尝试将PHP视为一个应用程序,该应用程序在您调用脚本时启动,并在脚本结束时终止.它不维护任何状态,并且固有地不知道任何其他PHP实例.
单例模式只是您设计类的一种方式,您可以在其中在代码中的任何地方(例如全局)调用它,而不必担心它是否已被实例化以及是否希望将其持久化在内存中.