是否可以通过引用将会话变量传递给类属性,这样,如果您取消设置类属性,它也将取消设置会话变量?我原以为以下内容会奏效,但会议并没有取消。
class SomeClass
{
public function __construct()
{
$this->Foo =& $_SESSION['bar'];
$this->Foo = 123;
unset($this->Foo);
echo $_SESSION['bar'];
}
}
new SomeClass; // Outputs "123"
不,在PHP中取消设置引用只需删除允许引用原始值的备用句柄——它不会影响原始值本身。
没有立即可用的解决方法,在这种情况下,您必须将$_SESSION
和'bar'
保留在单独的变量中,并在需要时将它们组合在一起。