【问题标题】:How To Make A public Variable hold changing session values如何使公共变量保持更改的会话值
【发布时间】:2010-12-30 07:04:15
【问题描述】:

你有这样的代码结构

public static $userId;
public static $checkUserId;
public $chckUserId;
function __CONSTRUCT(){//Constructor 
    parent::__CONSTRUCT();
    self::$userId = $_SESSION["userid"];//Asssign Current Logged In User's UserId
}

这可以保持用户会话,然后我想保持一个不断变化的会话,因为我想在我想在公共变量中分配的类的所有功能中使用它,我分配并工作但没有改变可能是什么问题? 你能建议我如何实现吗?

【问题讨论】:

    标签: php class session


    【解决方案1】:

    如果要保存更改的值,则需要通过引用设置值。

    但是,这样做将是一个糟糕的设计。每次构造对象时,都应该在构造函数中进行任何必需的赋值。

    编辑: 添加代码

    public static $userId;
    public static $checkUserId;
    public $chckUserId;
    function __CONSTRUCT(){//Constructor 
        parent::__CONSTRUCT();
        self::$userId = &$_SESSION["userid"];//Asssign Current Logged In User's UserId
    }
    

    【讨论】:

      【解决方案2】:

      我不太清楚你的问题,但我认为全局变量$userId 的值不会根据session variable 而改变。好吧,每当您创建该类的对象时,该类的constructor 将被调用一次,因此它只赋值一次

      【讨论】:

      • 实际上我已经尝试过 public $userChkId 并从构造函数中分配它,我试图从对象中更改它但它不工作它会工作吗?我的意思是实际上会支持 php 吗?看到 public $chckUserId;声明我这样做是为了这个目的
      猜你喜欢
      • 1970-01-01
      • 2016-08-29
      • 2015-03-17
      • 1970-01-01
      • 1970-01-01
      • 2014-03-04
      • 2015-04-20
      • 2015-09-30
      • 1970-01-01
      相关资源
      最近更新 更多