Php 如何使公共变量保存更改的会话值

Php 如何使公共变量保存更改的会话值,php,class,session,Php,Class,Session,嗨,我有这样的代码结构 public static $userId; public static $checkUserId; public $chckUserId; function __CONSTRUCT(){//Constructor parent::__CONSTRUCT(); self::$userId = $_SESSION["userid"];//Asssign Current Logged In User's UserId } 这可以保持用户会话,然后我想保持一

嗨,我有这样的代码结构

public static $userId;
public static $checkUserId;
public $chckUserId;
function __CONSTRUCT(){//Constructor 
    parent::__CONSTRUCT();
    self::$userId = $_SESSION["userid"];//Asssign Current Logged In User's UserId
}
这可以保持用户会话,然后我想保持一个更改会话,因为我想在类的所有函数中使用它,我想在一个公共变量中分配它,我分配并工作,但不更改,可能会出现什么问题?
你能建议我怎么实现吗?

如果你想保持不断变化的值,你需要通过引用来设置值

然而,这样做将是一个糟糕的设计。每次构造对象时,都应该在构造函数内执行所有必需的赋值

编辑:添加了代码


我不太清楚您的问题,但我认为全局变量
$userId
的值不会根据
会话变量
进行更改。好的,每当你创建一个类的对象时,这个类的
构造函数将被调用一次,所以它赋值一次

实际上我已经尝试了public$userChkId并从构造函数中赋值,我试图从object中更改它,但它不起作用,它会起作用吗?我的意思是php会支持吗?查看公共$chckUserId;我声明我这样做是为了这个目的
public static $userId;
public static $checkUserId;
public $chckUserId;
function __CONSTRUCT(){//Constructor 
    parent::__CONSTRUCT();
    self::$userId = &$_SESSION["userid"];//Asssign Current Logged In User's UserId
}