По какой-то причине моя static
переменная сбрасывается, и я не уверен, почему она сбрасывается.
public static $_pwdAdjId = 0; //static variable
function ...() {
// Piece of code that manipulates the static variable
if(isset($_POST['adj'])) {
self::$_pwdAdjId = $_POST['adj'];
} else if(!isset($_POST['adj']) && $_GET['ajax'] !== 'assignTable') {
self::$_pwdAdjId = Yii::app()->user->getId();
}
$adj = self::$_pwdAdjId;
...
}
Когда функция вызывается впервые, она будет вызываться:
self :: $ _ pwdAdjId = Yii :: app () -> user-> getId ();
и сохраняет значение в $adj
и работает нормально.
Когда пользователь изменяет страницу, значение, которое сохраняется в $adj
, равно 0 - начальное значение переменной static
. Я не уверен, почему он сбрасывается к своему первоначальному значению вместо нового сохраненного значения.
Перед первым звонком:
self::$_pwdAdjId == 0
Первый звонок:
self::$_pwdAdjId == 7
$adj == 7
Страница (вызов ajax): Второй вызов:
self::$_pwdAdjId == 0 // supposed to be 7
Я что-то упустил? Влияет ли тот факт, что он вызывается через ajax во второй раз, на его static
-ness?
Спасибо.