簡體   English   中英

ZF2 - 你如何訪問會話容器中的會話變量?

[英]ZF2 - How are you supposed to access session vars in a session container?

我創建一個像這樣的容器:

$frontend = new SessionContainer('frontend', null);

我設置了一個變量:

$frontend->offsetSet('foo',$bar);

我的問題是,當你需要在其他地方訪問它時,你真的應該在任何地方使用相同的密鑰實例化一個新的SessionContainer並獲取var嗎? 或者,會話數據是否在控制器中可用的另一個變量中傳遞?

首選實踐是直接訪問會話值,就好像它們是實例化容器對象的屬性一樣。

$frontend = new SessionContainer('frontend');
$bar = $frontend->foo;

會話容器類通過調用以下方式完成幕后的其余工作:

$frontend->__get('foo');

反過來調用:

$frontend->offsetGet('foo');

使用上面的第一個示例有助於提高可讀性。 出於同樣的原因,您可以使用:

$frontend->foo = 'bar';

在幕后,這稱之為:

$frontend->__set('foo', 'bar');

... 接着:

$frontend->offsetSet('foo', 'bar');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM