跨多个php文件(控制器)使用Codeigniter会话类



我有两个控制器,用户和模块。默认情况下,加载用户控制器,用户首先登录。一旦用户通过身份验证(由学校),将颁发一个令牌,用于对学校的API进行所有调用。我创建一个会话并将令牌存储在其中。

$this->session->set_userdata('token', $_GET['token']);

登录后,我需要显示用户注册的模块(基本上是主题),为其创建模块类的对象并调用一个函数来显示模块。模块调用调用API以获取已注册模块的列表。为此,我需要令牌,所以我尝试通过访问令牌

$this->session->userdata('token');

但我得到了一个错误:"消息:未定义的属性:模块::$session"

user.php文件有一个类user,其中定义了所有函数(重定向到登录页面并在会话中存储令牌),而module.php文件有一个子模块claa,它调用api来获取已注册模块的列表。

会话类设置为自动加载!

希望这个能解决你的问题:)

关于加载库和挂钩的一般问题

我听从了Phil Sturgeon的建议,建立了一个基类来进行扩展。这样,您就不必在多个类中不断定义相同的会话内容。

http://philsturgeon.co.uk/blog/2010/02/CodeIgniter-Base-Classes-Keeping-it-DRY

最新更新