Saving Object in a session...

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Joe

    Saving Object in a session...

    Hi all,

    I'm a java programmer learning PHP. I was wondering how to save a
    class over a session. As a simple example, if I wanted to have a
    Class called Sum, which had the methods addToSum($a), and printSum().
    Could I save that object into a session, so that I could use it later
    as the user navigates my webpage?

    Is a session the best way to store data as a user goes between
    webpages?

    thanks,

  • Joshua Gao

    #2
    Re: Saving Object in a session...

    Joe wrote:[color=blue]
    > Hi all,[/color]
    Hi :)[color=blue]
    >
    > I'm a java programmer learning PHP. I was wondering how to save a
    > class over a session. As a simple example, if I wanted to have a
    > Class called Sum, which had the methods addToSum($a), and printSum().
    > Could I save that object into a session, so that I could use it later
    > as the user navigates my webpage?[/color]
    Depending on your version of PHP, you could probably do so. It might be
    advisable to serialize() the object, and unserialize() it when you use
    the object, if you wish to store it to an SQL database later, or are
    using an old version of PHP, but if you're doing something that simple,
    it should work fine.[color=blue]
    > Is a session the best way to store data as a user goes between
    > webpages?[/color]
    It is the easiest, and generally the fastest. Unless you need customized
    options it should be fine :)

    -Joshua Gao

    Comment

    • \(¯`·..Yttrium ...·´¯\)

      #3
      Re: Saving Object in a session...

      "Joe" <sniff@email.ar izona.edu> a écrit dans le message de news:
      1114648910.0974 37.250930@o13g2 00...legr oups.com...[color=blue]
      > Hi all,
      >
      > I'm a java programmer learning PHP. I was wondering how to save a
      > class over a session. As a simple example, if I wanted to have a
      > Class called Sum, which had the methods addToSum($a), and printSum().
      > Could I save that object into a session, so that I could use it later
      > as the user navigates my webpage?
      >
      > Is a session the best way to store data as a user goes between
      > webpages?
      >
      > thanks,[/color]


      Hi,
      No problem, you can do that easily.
      Sessions are made for this .. :-)


      Comment

      • Peter Fox

        #4
        Re: Saving Object in a session...

        Following on from (¯`·..Yttrium ...·´¯)'s message. . .[color=blue]
        >"Joe" <sniff@email.ar izona.edu> a écrit dans le message de news:
        >1114648910.097 437.250930@o13g 2000cwo.googleg roups.com...[color=green]
        >> Hi all,
        >>
        >> I'm a java programmer learning PHP. I was wondering how to save a
        >> class over a session. As a simple example, if I wanted to have a
        >> Class called Sum, which had the methods addToSum($a), and printSum().
        >> Could I save that object into a session, so that I could use it later
        >> as the user navigates my webpage?
        >>
        >> Is a session the best way to store data as a user goes between
        >> webpages?
        >>
        >> thanks,[/color]
        >
        >
        >Hi,
        >No problem, you can do that easily.
        >Sessions are made for this .. :-)
        >
        >[/color]
        But watch out for the way PHP copies/assigns variables.

        This works fine
        $adder = new myAdder(0);
        $adder->plus(5);
        $adder->plus(7);
        print($adder->total()); // 12

        But this doesn't (may not)
        $adder = new myAdder(0);
        $adder->plus(5);
        $_SESSION['ADDER']=$adder;
        $adder->plus(7);
        print($adder->total()); // 12
        print($_SESSION['ADDER']->total()); // 5 Is this what you wanted?

        But this is the way to do it
        $_SESSION['ADDER']= & $adder; //<<<<<<< &



        --
        PETER FOX Not the same since the submarine business went under
        peterfox@eminen t.demon.co.uk.n ot.this.bit.no. html
        2 Tees Close, Witham, Essex.
        Gravity beer in Essex <http://www.eminent.dem on.co.uk>

        Comment

        • Peter Fox

          #5
          Re: Saving Object in a session...

          Following on from Joe's message. . .

          My last post in this thread was off the top of my head.
          The & is used when getting access to the session rather than putting it
          in in the first place.


          Here is a code snippet which appears in many pages.
          database is a home-grown class and references to session database are
          similar.
          It is the last line which says "$db will refer to the object in the
          session"


          Sorry about the earlier confusion.

          // get database connection
          if(!DoesSession DatabaseExist() ){
          $db = new database('local host','sukuser' ,'NOTTHEPASSWOR D','sukas');
          $x=$db->Connect();
          if($x){
          print("<p>Error connecting to database<br>$x< p>");
          exit;
          }
          PutDatabaseInSe ssion($db);
          }
          $db = & SessionDatabase ();
          --
          PETER FOX Not the same since the submarine business went under
          peterfox@eminen t.demon.co.uk.n ot.this.bit.no. html
          2 Tees Close, Witham, Essex.
          Gravity beer in Essex <http://www.eminent.dem on.co.uk>

          Comment

          Working...