Ответ 1
Вы можете настроить APC и использовать функции apc_store и apc_fetch.
В ASP.NET, если я объявляю статическую переменную (или объект) static (или если я делаю singleton), я могу сохранить ее на нескольких сеансах нескольких пользователей (она была зарегистрирована в области сервера), так что я не знаю, t необходимо инициализировать его при каждом запросе.
Есть ли такая возможность в 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.
К сожалению, нет. Ключевое слово PHP static
ограничено только текущим экземпляром script.
Чтобы сохранить данные в экземплярах script для одного и того же сеанса, вы должны использовать функции обработка сеанса.
Чтобы сохранить данные в сеансах, вам нужно будет использовать что-то вроде memcache, однако для этого требуется дополнительный набор -up работать на стороне сервера.
вы можете хранить сериализованные копии объекта внутри сеанса
class test{ private static $instance; public property; private __construct(){} public getInstace(){ if(!self::$instance){ self::$instance = new test; } return self::$instance; } } $p = test->getInstance(); $p->property = "Howdy"; $_SESSION["p"] = $p;
следующая страница
$p = $_SESSION["p"]; echo $p->property; // "Howdy"