I have two controllers, user and module. By default the user controller is loaded and the user first logs in. Once the user is authenticated (by the school), a token is issued which is used to make all the calls to the school's API. I create a session and store the token in it.
$this->session->set_userdata('token', $_GET['token']);
After login I 开发者_C百科need to display the user's registered modules (basically subjects) for which I create a object of the module class and call a function to show the modules. The module calls makes a call to the API to get the list of registered modules. For this I need the token so i try to access the token through:
$this->session->userdata('token');
But i get an error: "Message: Undefined property: Module::$session"
the user.php file has a class User in which all functions are defined (redirecting to login page and storing the token in session) while the module.php file has a claa Module which makes a call to the api to get the list of registered modules.
The session class is set to autoload!
hope this one solve your problem :)
General problems regards loading libraries, and hooks
I followed Phil Sturgeon's advice on setting up a base class to extend from. This way you don't have to keep defining the same session stuff across multiple classes.
http://philsturgeon.co.uk/blog/2010/02/CodeIgniter-Base-Classes-Keeping-it-DRY
精彩评论