Поддержание состояния между запусками | Использование сеанса - PullRequest
0 голосов
/ 15 марта 2011

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

Каков наилучший способ поддержания состояния между этими запусками?

1 Ответ

2 голосов
/ 15 марта 2011

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);

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...