Intereting Posts
Как реализовать API Gmail OAuth для отправки электронной почты (особенно через SMTP)? Magento CONNECT ERROR: Не удалось открыть файл PHP SimpleXML не сохраняет разрывы строк в атрибутах XML вызов одной функции php из другого? Не может включать пакет груши, который определенно существует (и установлен) Инъекция зависимостей: вытягивание необходимых компонентов, когда они действительно необходимы Как я могу проверить форму POST, только содержит буквы в нескольких полях, используя preg_match? Тонкая поддержка PHP Framework Что это называется в php: -> Обновление нескольких индикаторов выполнения при отправке нескольких файлов и элементов формы через ajax Фундаментальное непонимание модели в «Красноречии» (за пределами Laravel) как проверить, зарегистрирован ли пользователь на его сеансе в маршруте, а затем вызвать метод контроллера в laravel? file_put_contents php разрешения Проверка наличия ключа массива Являются ли созданные cookie недоступными до следующей загрузки страницы?

Поддержание состояния между прогонами | Использование сеанса

Существует несколько способов запуска PHP-кода. Например, пользователь инициирует перезагрузки и инициирует пользовательские запросы ajax.

Что это лучший способ сохранить состояние между этими прогонами?

PHP действительно рассматривает отдельные прогоны. Две вещи:

  1. Не используйте глобальные переменные … они плохие 🙂 Подумайте о том, чтобы сделать ваш класс «session» совокупностью статических функций с session_id как статическим членом var.
  2. Просто создайте новый класс сеанса во втором фрагменте:
$obj_ses = new session(); $obj_ses->activate('email', $this->_protected['email']); 

Идентификатор сеанса будет одинаковым для всех просмотров страниц для этого конкретного пользователя, поэтому создание второго сеанса () во втором фрагменте по-прежнему будет ссылаться на тот же сеанс, который вы начали в первом фрагменте.

Вот как выглядит статическая реализация:

 // class names should be camel-cased class SessionManager { protected static $session_id = null; public static function start() { self::$session_id = session_start(); } // ... and so on } // to use SessionManager::start(); SessionManager::activate('email', $email); 

Это действительно должно быть все, что вам нужно. Конечно, есть много способов сделать это, но это должно заставить вас начать 🙂