出于某种原因,我的static
变量重置,我不知道为什么它重置。静态变量重置 - PHP
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;
...
}
当函数首先被调用,这将被称为:
自:: $ _ pwdAdjId = Yii的::应用程序() - >用户>的getId();
并将值保存到$adj
,它工作正常。
当用户更改页面时,存储在$adj
中的值为0 - static
变量的初始值。我不确定它为什么重置为初始值而不是存储新值。
First Call调查之前:
self::$_pwdAdjId == 0
First Call调查:
self::$_pwdAdjId == 7
$adj == 7
页(AJAX调用):第二个电话:
self::$_pwdAdjId == 0 // supposed to be 7
我错过了什么吗?第二次通过ajax调用它的事实是否影响其static
的性质?
谢谢。
您是否希望静态变量在提供请求后保留其值?还是我误解了您的问题? – cenanozen