2015-10-30 27 views
0

我做了一個我在index.php文件中初始化的單例類日曆。如何保存單例類的實例

當我嘗試使用jQuery .ajax文章獲取前一個或下一個月的版本時,我意識到我的單例對象被破壞並使用私有構造函數重新初始化。

如何保持單例的第一個實例直到頁面關閉,以便我可以在日曆中移動?有沒有辦法停止破壞單身實例?

+0

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

回答

4

在PHP中,一個對象的生命週期完全在請求中 - 它不會像在Java等其他語言中看到的那樣持久保存值。這意味着你的單例類將在每個請求中被實例化,但是在這個請求中你只能有一個它的實例。

原因是PHP是一種腳本語言 - 當腳本執行完成後,所有內容都會被丟棄。

如果您想要在請求之間共享數據,您將需要使用緩存層(APC,Memcached等),甚至寫入會話或磁盤。