我是否应该从标题的会话变量中获取一些数据,这些数据需要显示当前登录用户的一些详细信息。或者,在每个控制器中,加载用户数据然后将其发送到相应的视图?好像我应该从控制器那里做,但是在头文件中需要更少的代码。
答案 0 :(得分:4)
$data['userdata'] = $this->session->all_userdata(); // returns and associative array
然后将其传递给视图,并使用$ userdata ['whatever']在视图中输出这些内容,这与从标题中获取它的代码量相同。
该功能位于here
编辑 - 2015年11月3日
截至version 3.0 $this->session->all_userdata();
已弃用。而是直接直接访问$_SESSION
对象是首选方法,但是没有参数的$this->session->userdata();
可以用于较旧的应用程序。
$data['userdata'] = $_SESSION; // returns and associative array
或
$data['userdata'] = $this->session->userdata();
userdata()上的文档:
获取特定
$_SESSION
项的值,或全部数组 “userdata”项目(如果不是键)已指定。注意:这是一种遗留方法,仅用于向后兼容旧版应用程序。您应该直接访问
$_SESSION
。