簡體   English   中英

Codeigniter - 我應該在視圖中訪問會話數據嗎?

[英]Codeigniter - should I access session data in a view?

我應該從標題的會話變量中獲取一些數據,這些數據需要顯示當前登錄用戶的一些詳細信息。或者,在每個控制器中,加載用戶數據然后將其發送到相應的視圖? 好像我應該從控制器那里做,但在頭文件中需要更少的代碼。

你應該? 為了可維護性和尊重MVC模式,我想說在控制器中做,我不認為一行代碼會成為一個問題,你可以這樣做:

$data['userdata'] = $this->session->all_userdata(); // returns and associative array

然后將其傳遞給視圖,並使用$ userdata ['whatever']將視圖中的內容輸出,這與從標題中獲取它的代碼量相同。

該功能位於此處


編輯 - 2015年11月3日

版本3.0 $this->session->all_userdata(); 已被折舊。 而是直接直接訪問$_SESSION對象是首選方法,但$this->session->userdata(); 沒有參數可以用於較舊的應用程序。

$data['userdata'] = $_SESSION; // returns and associative array

要么

$data['userdata'] = $this->session->userdata();

有關userdata()的文檔:

獲取特定$_SESSION項的值,如果未指定key,則獲取所有“userdata”項的數組。

注意:這是一種遺留方法,僅用於向后兼容舊應用程序。 您應該直接訪問$_SESSION

暫無
暫無

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

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