2015-10-30 91 views
0

我做了一个我在index.php文件中初始化的单例类日历。如何保存单例类的实例

当我尝试使用jQuery .ajax文章获取前一个或下一个月的版本时,我意识到我的单例对象被破坏并使用私有构造函数重新初始化。

如何保持单例的第一个实例直到页面关闭,以便我可以在日历中移动?有没有办法停止破坏单身实例?

+0

请提供[最小,完整和可验证示例](https://stackoverflow.com/help/mcve)。 – Steven

回答

4

在PHP中,一个对象的生命周期完全在请求中 - 它不会像在Java等其他语言中看到的那样持久保存值。这意味着你的单例类将在每个请求中被实例化,但是在这个请求中你只能有一个它的实例。

原因是PHP是一种脚本语言 - 当脚本执行完成后,所有内容都会被丢弃。

如果您想要在请求之间共享数据,您将需要使用缓存层(APC,Memcached等),甚至写入会话或磁盘。