[英]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.