В ASP.NET, если я объявляю переменную (или объект) статичный (или если я делаю одиночный элемент) у меня может быть он, сохраняются через несколько сессий многочисленных пользователей (это, он зарегистрировался в объеме сервера) так, чтобы я не инициализировал его в каждом запросе.
Есть ли в PHP такая функция?Спасибо
Вы можете настроить APC и использовать функции apc_store и apc_fetch.
Вы можете сделать это с помощью расширения PHP (написанного на C).
Но если вы хотите написать это на PHP, нет. Лучшая альтернатива - записывать переменную в файл (file_put_contents ()) в конце каждого запроса и открывать его в начале каждого запроса (file_get_contents ()).
Эта альтернатива не будет работать для сайтов с большим объемом, потому что процессы будут выполнять чтение / запись одновременно, и весь мир будет использовать все BLAAA-WOOO-EEE-WOHHH-BOOOM.
Этого не существует в PHP, однако вы можете сериализовать данные и поместить их в файл на жестком диске или в / dev / shm /. Вы также можете использовать memcache.
Если вы поместите свои данные в / dev / shm / или используете кэш памяти, данные исчезнут при перезагрузке.
К сожалению, нет. Ключевое слово PHP static
ограничено только текущим экземпляром скрипта.
Чтобы сохранить данные в экземплярах сценария для одного и того же сеанса, вы должны использовать функции обработки сеанса .
Чтобы сохранять данные между сеансами, вам нужно будет использовать что-то вроде memcache , однако это требует дополнительных настроек на стороне сервера.
вы можете хранить сериализованные копии объекта внутри сеанса
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"