В ASP.NET, если я объявляю статическую переменную (или объект) статическую (или если я делаю синглтон), я могу ее перенести на несколько сеансов нескольких пользователей (она была зарегистрирована в области сервера ), так что мне не нужно инициализируйте его при каждом запросе.
Есть ли такая возможность в PHP? благодаря
Вы можете настроить APC и использовать функции apc_store и apc_fetch.
Это не существует на PHP, однако вы можете сериализовать данные и поместить их либо в файл на вашем жестком диске, либо в / dev / shm /. Вы также можете использовать memcache.
Если вы поместите свои данные в / dev / shm / или используйте memcache, данные исчезнут при перезагрузке.
Вы можете сделать это с расширением PHP (написано на C).
Но если вы хотите написать его в PHP, нет. Лучшей альтернативой является запись переменной в файл (file_put_contents ()) в конце каждого запроса и открытие ее в начале каждого запроса (file_get_contents ()).
Эта альтернатива не будет работать для сайтов с большими объемами, потому что процессы будут делать чтение / запись одновременно, и мир пойдет на все BLAAA-WOOO-EEE-WOHHH-BOOOM.
К сожалению нет. static
ключевое слово PHP ограничено только текущим экземпляром сценария.
Чтобы сохранить данные в экземплярах сценариев для одного сеанса, вы должны использовать функции обработки сеанса .
Чтобы сохранить данные в сеансах, вам нужно будет использовать что-то вроде memcache , однако для работы на стороне сервера требуется дополнительная настройка.
вы можете хранить сериализованные копии объекта внутри сеанса
class test { private static $ instance; общее имущество; private __construct () {} public getInstace () { если (! самостоятельно :: $ экземпляр) { self :: $ instance = новый тест; } return self :: $ instance; } } $ p = test-> getInstance (); $ p-> property = "Howdy"; $ _SESSION ["p"] = $ p;
следущая страница
$ p = $ _SESSION ["p"]; свойство echo $ p->; // "Howdy"