2015-10-30 3 views
0

Я создал одиннадцатиклассный календарь, который был инициализирован в файле index.php.Как сохранить экземпляр одноэлементного класса

Когда я пытаюсь получить предыдущий или следующий месяц с помощью jquery .ajax post, я понимаю, что мой объект singleton уничтожается и инициализируется снова с помощью частного конструктора.

Как сохранить первый экземпляр Singleton до закрытия страницы, чтобы я мог перемещаться по календарю? Есть ли способ остановить уничтожение экземпляра одноэлементного?

+0

Просьба указать [Минимальный, полный и проверенный пример] (https://stackoverflow.com/help/mcve). – Steven

ответ

4

В PHP жизненный цикл объекта полностью находится в запросе - он не будет сохранять значения, как вы бы видели на других языках, таких как Java. Это означает, что ваш singleton-класс будет создан при каждом запросе, но внутри этого запроса вы можете иметь только один экземпляр.

Причина в том, что PHP - это язык сценариев - все отбрасывается, когда выполнение скрипта завершается.

Если вы хотите обмениваться данными между запросами, вам нужно будет использовать что-то вроде слоя кеширования (APC, Memcached и т. Д.) Или даже писать на сеанс или диск.

Смежные вопросы