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

时间:2011-06-06 19:30:31

标签: php codeigniter

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

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

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

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

但我得到一个错误:“消息:未定义的属性:Module :: $ session”

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

会话类设置为自动加载!

2 个答案:

答案 0 :(得分:1)

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

General problems regards loading libraries, and hooks

答案 1 :(得分:0)

我遵循了Phil Sturgeon关于建立基类的建议。这样,您就不必在多个类中定义相同的会话内容。

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