• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Storing object in a session

Hi all,

I'm using the native session library (autoloaded) supplied in the codeigniter package. I stumbled upon a problem when storing objects in the session. Because the session is started before the php file containing the object is included, the object can't be unserialized resulting in an error.

I solved it by hooking into the pre_system hook. But I prefer to hook in exactly before the session is started. So far I have not seen any possible way to do this without modifying the Session library code. Am I overlooking something or is it just not possible? There must be a nicer way to do this, I guess...

It would be nice if the session class provided a setting for unserializing objects on the fly, instead of immediately at instantiation time.


out of curiosity may I ask why you want to store an object in the session? I think you are restricted to 4kb.

Of course. The object I store is just a plain data object without any methods, their isn't any particular reason except that I find it a convenient way to restore the data directly into an object.

class foo
  function foo(){
    $this->vartest = "hi";

class Temp extends Controller {

  function Temp()
  function index()
      $resobj = new foo;
      $newdata = array('resobj' => $resobj);
  function page2()
      $retobj = $this->session->userdata('resobj');

the above works for me (I also autoload session) I don't know if the code helps you.

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  

  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2020 MyBB Group.