Статические переменные во всех сеансах

В ASP.NET, если я объявляю статическую переменную (или объект) статическую (или если я делаю синглтон), я могу ее перенести на несколько сеансов нескольких пользователей (она была зарегистрирована в области сервера ), так что мне не нужно инициализируйте его при каждом запросе.

Есть ли такая возможность в PHP? благодаря

Вы можете настроить APC и использовать функции apc_store и apc_fetch.

http://us.php.net/manual/en/book.apc.php

Это не существует на 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"