The $_SESSION array is already being serialized before saving it to the
session datafile. You'll only have to:

$_SESSION['cart'] = $cart;

And before session_start():

require_once 'fileWhereClassIsDefined';
.
.
.
session_start();

If the class isn't defined before serialization (session start) an instance
of stdclass is created.

You should define the "magic" member functions __sleep and __wake if you
need to reopen any resource needed for your object (resources, as in opened
files, opened mysql connectios, mysql queries, ARE NOT serialized)

2006/4/20, Paul Novitski <[EMAIL PROTECTED]>:
>
> At 05:14 PM 4/20/2006, Steve wrote:
> >I'm creating my own Object Oriented PHP Shopping Cart.
> >
> >I'm confused about the best way to call the functions of the class
> >given the "static" nature of the web.
> >
> >For example, if I have a function addItem($code), how will this be
> >called from the catalog or product description pages where the BUY
> buttons are?
> >
> >On the product description page (say for product ABC213), there will
> >be a BUY button, but when the button is clicked, obviously I cannot
> >immediately call $cart->addItem('ABC213'). So how is this done?
>
>
> Steve,
>
> One way to preserve your cart object between page requests is to keep
> it serialized in the session.
>
> When the PHP program wakes up:
>
>          // begin session processing
>          session_start();
>
>                  // if the cart already exists...
>                  if (isset($_SESSION["cart"])
>                  {
>                          // read the cart from the session
>                          $oCart = unserialize($_SESSION["cart"]);
>                  }else{
>                          // or create it
>                          $oCart = new CartObject();
>                  }
>
> Before the PHP script ends:
>
>          // save the cart to the session
>          $_SESSION["cart"] = serialize($oCart);
>
> In the body of the script, you'll use $_GET and/or $_POST arrays to
> feed user input into the cart object, and echo functions to write
> each new page in response.
>
> Does this help clarify, or am I stating only what you already know?
>
> Paul
> _________________________
>
> Refs:
> http://php.net/session
> http://php.net/session_start
>
> http://php.net/serialize
> http://php.net/unserialize
>
> http://php.net/isset
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

Reply via email to