尝试取消设置通过引用类属性传递的会话变量

时间:2013-12-10 14:50:01

标签: php session-variables

是否可以通过引用将会话变量传递给类属性,这样如果您取消设置类属性,它还会取消设置会话变量?我认为以下内容可行,但会议未被取消。

class SomeClass
{
    public function __construct()
    {
        $this->Foo =& $_SESSION['bar'];
        $this->Foo = 123;
        unset($this->Foo);
        echo $_SESSION['bar'];
    }
}

new SomeClass; // Outputs "123"

1 个答案:

答案 0 :(得分:2)

不,在PHP中取消设置引用只会删除允许您引用原始值的备用句柄 - 它不会影响原始值本身。

没有可用的即时解决方法,在这种情况下,您必须将$_SESSION'bar'保留在单独的变量中,并在需要时将它们组合在一起。