Re: Creating an OO Shopping Cart

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, April 20, 2006 7:14 pm, Steve wrote:
> I'm creating my own Object Oriented PHP Shopping Cart.

Okaaaaaaay.

You're doing this just for fun and education, right?

Cuz, seriously, it's about 100 X harder than you think to get a bunch
of details you've never even thought about correct.

And there are about 100 shopping carts already out there.

> I'm confused about the best way to call the functions of the class
> given
> the "static" nature of the web.

I think you mean "stateless"...?

> 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?

The BUY button should have HTML elements which will pass in 'ABC213'
via POST or GET data.

Your script, at a minimum, would then do:
<?php
  session_start(); //this is how you make HTTP sort of stateful.
  $item = $_REQUEST['item']; //assuming your HTML BUY button has
name="item"
  require 'Cart.php'; //Load in the OO class you are writing.
  $cart = new Cart(); //Make an instance of your Cart.
  $cart->addItem($item);
?>

So, actually, if you get all the OTHER details right, there isn't much
more to it than what you typed...

> I thought of making the BUY button link to the cart itself, like so,
> but
> doesn't this mitigate the whole point of designing with classes:
>
> <a href="Cart.php?action=add&code=ABC123&goto=viewcart">BUY</a>
> The Cart.php would then redirect the user to view the contents of the
> shopping cart.

There is no reason why you need to go directly to Cart.php -- Just
require the Cart.php script into the product/catalog pages.

Do that at the tip-top, and you can include all kinds of nifty info on
the product/catalog pages like:
"You have 10 items in your cart totaling $192.37"

> Do you have any tips, or are there any resources that may help me
> think
> more clearly about this?

You should read the source to several other shopping carts.

Yes, there is a TON of source code, and Yes, most of it is very very
very badly-written, and Yes, that's because they started typing just
like you are now instead of actually figuring all this [bleep] out in
advance. :-)

> My aim is to build a Cart that is very flexible that I can use in many
> situations in the future.

I'm pretty sure that was everybody's aim for every shopping cart ever
built.  Nobody wants to build the damn thing a second time. :-)

-- 
Like Music?
http://l-i-e.com/artists.htm

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux